C语言中 int a=0,b=0,c=0; if(a&&++b) c++; printf("%d,%d尀n",b,c); b和c为什么都等于0

2024-11-07 15:31:42
推荐回答(3个)
回答1:

因为a=0所以&&右边的就被短路了,不被执行, 所以最后a, b, c的值都不变,都为0

回答2:

c语言中&&是一种双目运算符,表示与运算,而当左边所给表达式或变量为0时,不再计算右侧,整个表达式为零。

回答3:

只要条件a为假,就不会执行++b 和 c++了,所以b和c都等于0