在不使用第三个变量的情况下交换两个int类型变量的值
//使用加法实现——第一版
a = a + b;//a中为和的值
b = a - b;//b中为a的值
a = a - b;//a中为b的值
//使用加法实现——第二版
a += b - (b = a);
//使用异或实现——第一版
a = a ^ b;//a中为异或后的结果
b = a ^ b;//异或后的结果在与b异或,结果为a
a = a ^ b;//异或后的结果在与a异或,结果为b
//使用异或实现——第二版
a ^= b ^ (b = a);
异或操作以及详解可以参考