当然是错的.你可以运行下试试.假设A=1,B=2运行完"A=B"后A=2,B=2,然后运行"B=A"后B=2,A和B都是2,没有完成交换.而x的作用是做辅助空间存储下A的值,避免被B的值覆盖.这种变量交换法也就是所谓的"三变量法"
也有只用两个变量完成交换的方法
1
A=A+B
B=A-B
A=A-B
2
A=AxorB
B=AxorB
A=AxorB
如果把x=A,A=B,B=x写在同一行可以吗?
三行代码变成了一行,但计算机还是要执行三个步骤。
这样解释对不对?谢谢
可以呀。执行结果和速度基本不会受到影响。用合适的分隔符分开就行了