有以下程序 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

admin2006-08-25  23

问题 有以下程序
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。
转载请注明原文地址:https://kaotiyun.com/show/H4Hp777K
0

相关试题推荐
最新回复(0)