因为if后面没有花括号
if后面没有花括号的话属于这个if判断的只能有一个表达式
a=b;b=t;
这两个不属于if判断里的内容,依旧会执行,所以最终输出4,0。
有帮助的话采纳一下哦!
if后面没有大括号,所以if只管第一个赋值语句,不满足条件也要执行后面两个赋值语句。
if之后没有大括号,所以只包含第一个式子(t = a),之后跳出来,继续执行下面的
写好的话看得清楚,这是个迷惑选项
void main()
{
int a = 5, b = 4, t = 0;
if (a < b) //不满足条件,跳出if语句
t = a; //不执行
a = b; // 到这里开始执行 将b赋值给a a = 4
b = t; //将 t赋值给b b = 0
printf("%d,%d\n", a, b); // 打印 4,0
return 0;
}