C++面试之交换变量值

不使用第三方变量,交换两个变量的值

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;

运算结果如下:

最终达到交换的目的。


猜你喜欢

转载自blog.csdn.net/qq_32164245/article/details/80674917
今日推荐