选择题
18.
有以下程序:
#include<stdio.h>
main()
{ int a=-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。
提交答案
关闭