- 题目:设int n;,执行表达式(n=0)||(n=1)||(n=2)||(n=3)后,n的值是?
- 代码+分析:
//设int n; , 执行表达式(n = 0) || (n = 1) ||(n = 2) ||(n = 3)后, n的值是?
int n;
printf("n=%d\n", (n = 0) || (n = 1) || (n = 2) || (n = 3));
//分析:先考虑逻辑或是否短路,再看运算符优先级
// 首先赋值n=0,不短路,继续n=1,逻辑或是有一个为真即为真,后边不用再执行
//此时n=1,表达式结果也是1
}
3.截图: