/*
什么事逻辑运算符的短路问题:
&& 一假为假
a && b 如果a为假(0),结果为假,b就不执行了,这就是 逻辑与短路
|| 一真为真
a || b 如果a为真(1),结果为真,b就不执行了,这就是 逻辑或短路
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
int x,y,z,result = 0;
x = y = z = 0;
//逻辑或短路:
// 1 || (不执行)
result = ++x || ++y && z++;
//逻辑与短路
// 0 && (不执行)
result = x && y++;
printf("x = %d,y = %d,z = %d\n",x,y,z);
return 0;
} |
|