有以下程序: #include<stdio.h> main() {inta=-2,b=2; for(;++a&&--b;) ; printf("%d,%d\n",a,b); } 程序运行后的输出结果是( )。

admin2021-04-28  17

问题 有以下程序:
#include<stdio.h>
main()
{inta=-2,b=2;
for(;++a&&--b;)

printf("%d,%d\n",a,b);
}
程序运行后的输出结果是(    )。

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

答案A

解析 for(;++a&&--b;);for循环中第1,3表达式为缺省项,判断条件为++a&&--b;a=-2,b=2;,第一次执行了++a和--b,,表示为真,循环条件成立,第二次执行++a为0,由于&&运算符,当第一个条件为假时,不执行第二个条件,所以b=1,发生短路,--b不执行了。因此a,b的最终值0,1。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/lxtp777K
0

最新回复(0)