欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

不借助第三个变量交换两个变量的值

程序员文章站 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;
  1. 经过第一步运算,a = a + b,b = b
  2. 经过第二步运算,a = a + b,b = a
  3. 经过第三步运算,a = b ,b = a