1、利用临时变量
2、利用加法
a=a+b;
b=a-b;
a=a-b;
3、利用位操作
a=a^b;
b=b^a;
a=a^b;
比如 a =1 ; b=2;
在二进制里
a = 01
b = 10
(我写简单点,前面应该还有几个零)
规则是,1 ^ 1 = 1 ; 0 ^ 0 = 1; 1^0 = 0; 0^1 = 0
就是说二者不一样的时候返回1,一样的时候返回0
首先a = a ^ b;
a = 01
b = 10
a的第一位和b的第一位不一样,所以结果的第一位是1
a的第二位和b的第二位也不一样,结果的第二位还是1
所以a = 11
然后 b = b ^ a;
a = 11
b = 10
第一位相同返回0
第二位不同返回1
所以b = 01 这样就和a相同了
类推