当你把if后的大括号去掉后,那么这时if语句的执行语句只有一条就是:t=a
这是如果输入的 a 比 b小就是说满足if的执行条件,那么和你不去掉大括号是一样的
都都会完成ab交换
但是,当你输入的a》b时,if (a会直接在下一条也就是 a=b执行
所以你的28可以正确得到
而此时的t并没有被准确赋值,t的值是编译程序随机赋值的,所以b=t这句之后,b才会那样
if (a你说的是这一对花括号吗?
如果不加花括号,与if自动贴合的只会是t=a;也就是if下面的第一句话,其他的都和if没有关系了。也就是成了if(a如果不去掉花括号,if后面的三句话是一个整体,if条件成立的话都执行,否则都不执行。
去掉花括号,if成立执行第一句,然后下面不属于if结构但是顺序执行;如果if不成立,第一句t=a不执行,继续执行下面的两句。
就和else和if的关系似的,else只贴合于距离他最近的那个if。
当花括号去掉之后只有第一句是会跟着if判断的,后面两句是必定执行的。
当你输入12和37之后,判断a当你输入59和28之后,判断a
当你把if后的大括号去掉后,那么这时if语句的执行语句只有一条就是:t=a
这是如果输入的
a
比
b小就是说满足if的执行条件,那么和你不去掉大括号是一样的
都都会完成ab交换
但是,当你输入的a》b时,if
(at=a;不会被执行
会直接在下一条也就是
a=b执行
所以你的28可以正确得到
而此时的t并没有被准确赋值,t的值是编译程序随机赋值的,所以b=t这句之后,b才会那样