两个数交换的三种方式

记得刚开始学C++的时候,也做过两个数的交换,当时只用过下面的第一种和第三种方法,今天在看传智播客Java视频教程的时候,学到了另两种方式

假设a=10,b=20,交换a,b的值

方法一,使用第三方的变量,也是最常用的方法

int c=a;
a=b;
b=a;

方法二,位异或运算

a=a^b;
b=a^b;    //a^b^b=a
a=a^b;    //a^b^a=b

方法三,变量相加

a=a+b;
b=a-b;
a=a-b;

方法四,一句话搞定

b=(a+b)-(a=b);

在实际的工作中常用的还是第一种方法

原文地址:https://www.cnblogs.com/ZXdeveloper/p/4325086.html