已知整数a和b的值,不用第三变量,交换它们的值
1. a=a+b;
b=a-b;
a=a-b;
(不多说了)
2. a=a^b;
b=a^b;
a=a^b;3
利用异或的方法;
原理是两次异或等于原值。
假设b=9,a=5,
a=a^b;
所以 b=a^b^b=a(这时,b^b=0,b已经等于a=5了)
所以 a=a^b^b(这里a等于5,第一个b等于9,第二个b等于5,因为第一个b是将a=a^b代入3式得到的,进行异或运算后可得结果为9)
3.第二种的变异
a ^= b;
b ^= a;
a ^= b;
方法2和3更好一些,因为方法1还要考虑数值的范围。
本人总结,如果有说错的地方就多多包涵