1.题目:设inta=1,b;,执行b=0&&(a++);后,变量a的值是?
2.代码+解析:
- #include <stdio.h>
- int main() {
- //设inta=1,b;执行b=0&&(a++);后,变量a的值是?
- int a = 1, b;
- printf("表达式的值是%d\na=%d\n", (b = 0 && (a++)),a);
- //分析:在表达式的运算中,短路问题优于运算符的优先级,提高运行效率,减少不必要计算
- //所以当运行到 b=0时,b=0 &&短路,此时后续都不执行
- //直接输出表达式的结果=0
- //a的值不变=1
- }