现有 int a = 12; int b = 56; 如何交换a, b的值? 方法一 利用中间变量,如: int tmp = a; a = b; b = tmp; 方法二 利用加减法,如: a = a + b; b = a - b; a = a - b; 此方法在 a + b 处容易发生溢出,不推荐使用 方法三 利用按位异或, 如: a = a ^ b; b = a ^ b; a = a ^ b; // 也可写成一行 a ^= b ^= a ^= b; 原理是: a ^ a = 0; a ^ 0 = a;