----------------解决方案--------------------------------------------------------
借用太阳兄弟的例子
(a = 20) == 00010100;(b = 25) == 00011001;
(a = a ^ b) == 00001101;
(b = b ^ a) == 00010100;//b=b^a'=b^a^b=a
(a = a ^ b) == 00011001;//a=a'^b'=a^b^a=b
----------------解决方案--------------------------------------------------------
回复 2# 的帖子
大学里学过的,老师跟我们说过不过我没这个习惯~
----------------解决方案--------------------------------------------------------
很经典
很经典,以前只会第一种,没想到还可以用异或对整型进行交换 ----------------解决方案--------------------------------------------------------
a=a+b;
b=a-b;
a=a-b;
小弟是菜鸟...能不能说的清楚 点
----------------解决方案--------------------------------------------------------
这种方法并不好。如果 a + b 超出了 a 这种数据能够表示的范围呢
a=a+b;
b=a-b;
a=a-b;
int a = INT_MAX;
int b = 8;
a=a+b;
b=a-b;
a=a-b;
----------------解决方案--------------------------------------------------------