问题 单项选择题

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

A.2

B.3

C.43

D.44

答案

参考答案:A

解析:我们首先看程序中if-else的匹配,由于C语言中规定elso总是与最近的if搭配,因此程序中else与第二个if搭配,即该if-else语句为第一个if语句的执行部分,接着判断第一个if后面括号里的表达式的值“a>b”为假(“3>4”为假),因此不执行后面if-else语句,程序将执行下面的输出语句输出d,而d一直未被改变故为原来的值2。

单项选择题 A1型题
问答题 简答题