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

复习基础的时候发现了一个比较有趣的交换变量值的方法。通常我们交换两个变量的值往往需要使用如下代码。

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容