A-A+

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

2022-08-06 00:46:27 问答库 阅读 174 次

问题详情

有以下程序
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("%dn",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。

考点:程序