不借助第三个变量交换两个变量的值
程序员文章站
2024-03-01 14:47:46
...
复习基础的时候发现了一个比较有趣的交换变量值的方法。通常我们交换两个变量的值往往需要使用如下代码。
int a =1;
int b =2;
//交换a和b的值的通常方法
int tmp = a;
a = b;
b= tmp;
如何不借助第三个变量,仅在两个变量之间交换值呢?
int a =1;
int b =2;
//第一步
a = a+b;
//第二步
b = a - b;
//第三步
a = a - b;
- 经过第一步运算,a = a + b,b = b
- 经过第二步运算,a = a + b,b = a
- 经过第三步运算,a = b ,b = a