填空题 以下程序运行后的输出结果是{{U}} 【8】 {{/U}}。 main() { int a=3,b=4,c=5,t=99; if(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); }
  • 1、
【正确答案】 1、4 5 99    
【答案解析】[解析] 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为真,所以后面3条语句都被执行,这3条语句构成一次a和b的内容交换。所以最后输出的结果是:4 5 99。