2015-10-26 逻辑运算符使用分析
首先我们来看一段代码:
1 #include <stdio.h> 2 3 int main() 4 { 5 int i = 0; 6 int j = 0; 7 8 if( ++i > 0 || ++j > 0 ) 9 { 10 printf("%d\n", i); 11 printf("%d\n", j); 12 } 13 14 return 0; 15 }
该段代码的运行结果应该是什么呢?
这里我们要注意在逻辑运算中的一个规则叫做短路规则。
在逻辑或运算中,例如if(a||b),只要a为真,b就不会去被计算
在逻辑与运算中,例如if(a&&b),只要a为假,b就不会去被计算。
在知道这个规则之后,上面的代码就很容易得到结果了,i =1, j = 0;