问题 单项选择题

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

A、2

B、3

C、43

D、44

答案

参考答案:A

解析:

因为嵌套 if...else... 结构中,else总是与最近一个订配对,所以此程序可以等价转化为以下 代码: if(a>b) {if (b>C. {printf (“%d”,(1+++1); elsc {Prantf(“%d”, ++d+1); } printf(“%d”,d); 最外层一个判断语句没有执行,所以,它所包含的判断语句也没有执行,仅执行了最后一个printf语句, 结果为2。

单项选择题
单项选择题 A1型题