以下程序运行后的输出结果是______。 main() { int a=3,b=4,c=5,t=99; i[(b<a && a<C) t=a;a=c;c=t; if(a<c && b<C) t=b;b=a;a=t

admin2013-02-23  22

问题 以下程序运行后的输出结果是______。
   main()
   {  int  a=3,b=4,c=5,t=99;
     i[(b<a  &&  a<C) t=a;a=c;c=t;
     if(a<c  &&  b<C) t=b;b=a;a=t;
     printf("%d%d%d\n",a,b,c) ;
   }

选项

答案4 5 99

解析 本题是一个陷阱题,以书写格式来考查考生对if语句的理解.if语句只对紧跟其后的一条语句或语句块产生作用。因此,题目中两条if语句只有t=a;和t=b是if的子句。第1条if语句中b<a为假,所以跳过语句t=a;,执行a=c;c=t;后,a=5、b=4、c=99。第2条if语句的判断条件a<c&&b<c为真,所以后面三条语句都被执行,这三条语句构成一次a和b的内容交换。所以最后输出的结果是:4  5  99。
转载请注明原文地址:https://kaotiyun.com/show/j6Jp777K
0

最新回复(0)