不使用第三方变量,交换两个变量的值
1、常用的交换变量值的方法是:
int temp =a;
a = b;
b = temp;
那么不使用第三方变量来交换两个值,方法如下:
(1)算术法:利用普通的+与-运算符实现
a = a + b;
b = a - b;
a = a - b;
以 a = 3, b = 5为例,经第一行语句的执行,a = 3 + 5 =8, b 的值为 5;
经第二行语句的执行,a 值不变,b的值为8 - 5 =3;
经第三行语句的执行,a值为 8 - 3 = 5,b值不变,为3,达到交换的目的。
(2)异或法:
a = a ^ b;
b = a ^ b;
a = a ^ b;
运算结果如下:
最终达到交换的目的。