#c语言#这个输出是什么呀?

img


为什么不是10 20

答案是:20 0
要注意 t = x 的后面是分号,这说明无论 if 语句是否执行,后面的两条语句 x = y 和 y = t 都会执行,所以最后的结果变成了 x = 20,y = 0,t = 0。

if语句要用括号,否则只有t=x是属于if语句内部的代码。

if(x>y){
  t = x;
  x = y;
  y = t;
}

输出应为20,0
x不等于y,所以不执行t=x;,由于没有大括号,if条件只限制其后的一条语句,所以x=yy=t正常执行,执行后x变为20,y变为0
有帮助望采纳~

if判断不成立就直接执行x=y和后面的语句了
20 0