选择题
有以下程序
#include<stdio.h>
main()
{ int a=0,b=0,c=0,d=0;
(a++&&b++) ? c++ : d++;
printf('%d,%d,%d,%d\n', a,b,c,d);
}
程序的运行结果是______。
A、
1,1,1,0
B、
1,0,1,0
C、
1,1,0,1
D、
1,0,0,1
【正确答案】
D
【答案解析】
[考点] 字符、选择和程序结构 首先,判断(a++&&b++)这个条件,这个条件中又首先判断a++,得到结果为假(由于是后置自增运算符,所以a在判断的时候为0,判断之后为1)。&&运算中,只要有一个条件为假,则整个条件为假,所以程序不再判断b++这个条件,并且将(a++&&b++)这个条件判定为假,程序执行冒号后面的d++。所以a=1,b=0,c=0,d=1。
提交答案
关闭