A-A+

有以下程序 main() { int a=5 b=4 c=3 d=2; if(a>b>C)

2022-08-06 00:27:28 问答库 阅读 173 次

问题详情

有以下程序 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
解析:C语言规定else总是和离它最近的if语句配对。故第一个else和第一个if配对,第二个else和第二个if配对。首先计算第一个订后面的表达式“a>b>c”,表达式“a>b”是为1,表达式“1>c,’为0,所以执行else后面的语句.先执行if后面的表达式,“c-1>d”为真,值为1。“1==1”为真,执行printf语句.所以,B选项为所选。

考点:程序