一、问题 使用异或完成交换 二、答案 完成a与b的交换 a = a ^ b b = a ^ b a = a ^ b 三、解析 (一)异或运算法则 a ^ a = 0a ^ b = b ^ aa ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c a = a ^ b //使用异或将a变为一个中间变量,将其用于下面计算中。 b = a ^ b ^ b //这里使用了异或运算法则中的第一条,将b和a完成了交换 a = (a ^ b) ^ (a ^ b ^ b) a = (a ^ b) ^ a a = b ^ a ^ a ///这里使用了异或运算法则中的第三条,将a和b完成了交换