A-A+
有以下程序: main() { int a=5 b=4 c=3 d=2; if(a>b>c)
问题详情
有以下程序: main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf("%dn",d); else if((c-1>=d)==1) printf("%dn",d+1); else printf("%dn",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。