C语言复习--逻辑运算符|| 和&&,!
&& 只有两个条件都为真时,才为真。||只要一个为真,就为真。
逻辑运算符很重要的法则是短路法则。
逻辑运算符的运算顺序都是从左到右计算。
&& 当左侧条件为假时,就不计算右侧。
|| 都左侧条件为真时,就不计算右侧。
另外&& 的优先级要高于||。
1.
int i=0,j=1,k=0;
k= ++i || j++; k=???,j=????。
分析根据短路法则,||的左边为真,所以右边不执行,整个条件为真返回1。所以k=1,j=1;
2
int i=0,j=1,k=0;
k= i++ && j++; k=???,j=????。
分析根据短路法则,&&的左边为假,所以右边不执行,整个条件为假返回0。k=0,j=1;
那&& 和 || 出现在一起会发生什么???
下面是转换法则
逻辑非 !他的作用是 非零则零。是零则1;
printf("%d\n",!0);
printf("%d\n",!-1);
printf("%d\n",!100);
学习交流群学习交流群199546072