问题详情

有以下程序 main() { int a=5,b=4,c=3,d=2; if(a>b>C) printf("%d ",d) ; else if((c-1>=D) ==1) printf("%d ",d+1); else printf("%d ",d+2); } 执行后输出结果是


A、2

B、3

C、4

D、编译时有错,无结果

时间:2022-03-03 19:29 关键词:

答案解析

B
解析:C语言规定else总是和离它最近的if语句配对。故第一个else和第一个if配对,第二个else和第二个if配对。首先计算第一个if后面的表达式“a>b>c”,表达式“a>b”是为1,表达式“1>c”为0,所以执行else后面的语句。先执行if后面的表达式,“c-1>d”为真,值为1。“1==1”为真,执行printf语句。