问题 填空题

以下程序运行后的输出结果是______。
main()
int a=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=c;c=t;
iff a<c&&b<c)t=b;b=a;a=c;
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。

单项选择题 A1/A2型题
单项选择题