有以下程序 main() { int a = -2, b = 0; while (a++ && ++b) ; printf("%d,%d\n", a, b ); } 程序运行后输出结果是

admin2018-10-16  31

问题 有以下程序
main() {
int a = -2, b = 0;
while (a++ && ++b) ;
printf("%d,%d\n", a, b ); }
程序运行后输出结果是

选项 A、0,3
B、1,2
C、1,3
D、0,2

答案B

解析 循环体为空,共执行2次。第一次变量a初值为-2,b初值为0,表达式a++ && ++b值为1,同时a的值为-1,b的值为1,第二次循环条件判断以后,a的值为0,b的值2,执行循环体空,第三次判断条件表达式值为0,不执行循环体,而a的值为1,但是表达式a++的值为0,因此不计算表达式++b的值,b的值仍为2。
转载请注明原文地址:https://jikaoti.com/ti/2ca0FFFM
0

最新回复(0)