#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? || 运算符对++k 有何影响? 谢谢!
最佳答案
在 ||
OR 中,如果第一个条件为真,则不会检查第二个条件。(它将跳过第二个条件)。
作为
m = ++i || ++k;
在 ++i
之后的这个条件下,i
的值将变为 1
,因为第一个条件为 true
>,所以它会跳过第二个条件。所以++k
操作不会被执行。
因此,k
将保持为 0
。
与使用 &&
相同,并且第一个条件为 false
它将跳过第二个条件。结果将为0
(假)。
关于c - || 运算符对++x 的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942414/