這題if不成立,他怎麼算的

這題if不成立,他怎麼算的

img

z=x后面是分号。IF到此为止。
然后就正常执行X=Y,Y=Z.

上面的过程可以换成这样就可以看的很清楚了

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

if后面没有加大括号,所以只有第一个分号之前的代码在if里面,其他代码在if外面,不管成立不成立都执行。
这属于基本语法没掌握牢固。