为什么等于20 30 20
来源:百度知道 编辑:UC知道 时间:2024/06/26 00:25:55
int x y z
x=10
y=20
z=30
if(x>y)
z=x;
x=y;
y=z;
x y z=20 30 20
x=10
y=20
z=30
if(x>y)
z=x;
x=y;
y=z;
x y z=20 30 20
if语句没有大括号限制只执行其下方的一条语句即
if(x>y)满足条件下执行z=x
不满足条件不执行z=x语句
无论条件是否满足都按顺序继续执行
x=y
y=z
因为x=10>y=20为假
则不执行if后的第一个分号前的语句
所以执行x=y=20
y=z=30
所以x=20
y=30
z=30
你题目的答案是不是写错了~~~~
答案没问题吧?
if判断不成立,故z=x不执行,然后依次执行下两条,y值赋给x,z值赋给y,则结果应为20 30 30
因为你的if没有大括号,所以它的作用域只能是一行就是z=x这行。
由于x不打于y所以不执行z=x;但执行x=y,y=z;
所以x=20,y=30,z=30
if没有大括号,所以if语句后只执行一条:z=x;if条件不成立,所以那条语句就不执行了。而执行后面两条:所以结果为 x=20、 y=30、 z=30