|| - 操作符对++ x的影响

时间:2015-04-29 11:30:22

标签: c

#include<stdio.h>
int main()
{
   int i=0, k=0, m;
   m = ++i || ++k;
   printf("%d, %d, %d\n", i, k, m);
   return 0;
 }

返回

1,0,1

为什么k = 0而不是1? || -operator对++ k的影响是什么? 谢谢!

示例:https://ideone.com/Fjsbii

1 个答案:

答案 0 :(得分:2)

|| OR中,如果第一个条件为真,则不会检查第二个条件。(它将跳过第二个条件)。

作为

m = ++i || ++k;

++i之后的这种情况下,i的值将变为1,因为第一个条件是true,因此它将跳过第二个条件。因此不会执行操作++k 因此k将保持0

与使用&&相同,第一个条件为false,它将跳过第二个条件。结果将是0(false)。