为验证,写出以下代码:
#include <stdio.h>
int main() {
int flag=1;
int a=1;
if((flag)&&(a++)){
printf("here");
}
printf("%d",a);
return 0;
}
运行结果:
将flag前的!去掉:
#include <stdio.h>
int main() {
int flag=1;
int a=1;
if((flag)&&(a++)){
printf("here");
}
printf("%d",a);
return 0;
}
同理,若将中间的逻辑运算符改为“或”可得到一下结果:
因此得出结论:C语言逻辑运算符&&和||左边为假/真时不再计算右边。