问题 单项选择题

有以下程序: 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); elseprintf("%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。

单项选择题
单项选择题