问题
单项选择题
有以下程序:
main()
int a=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else if((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
执行后输出结果是 ______。
A.2
B.3
C.4
D.编译时有错,无结果
答案
参考答案:B
解析: 执行if(a>b>c)时,首先判断a>b的值,5>4结果为真(C语言中规定真用1表示),然后比较1>c,结果为假,执行第一个else后的语句,判断条件(c-1>=d)==1是否成立,即判断(3-1>=2)==1,结果为真,所以执行 printf("%d\n",d+1),输出结果3。