逻辑或运算符
短路规则
其中一个条件满足了,其他条件就不执行,条件执行由左往右
#include<iostream>using namespace std;int main(){int i = 0, j = 0;if (++i || ++j){printf("i = %d, j = %d\n", i, j);//结果为:i = 1, j = 0}return 0;}
逻辑运算符的优先级问题
#include<iostream>using namespace std;int main(){int a = 2, b = 50;if (a+=b || b)//实际为:a = a + b || b;b || b优先进行比较的出一个真值1,变成a = a + 1{printf("a = %d, b = %d\n", i, j);//结果为:a = 3, b = 50}return 0;}
