法一:创建临时变量

//核心代码 int a,b,temp;

temp = a;

a = b;

b = temp;

若不创建临时变量

法二:通过加减运算

//核心代码

a = a + b;//这个时候a就是他们的和

b = a - b;//和减去b 等于 a

a = a - b;//和减去已经成为a的值的b 等于 b 不足:在进行相加运算的时候可能导致数据溢出

法三:通过异或运算

//原理 任何数异或自身两次等于0,即 a ^ a = 0,且异或具有结合性 //核心代码

a = a ^ b;//1式

b = a ^ b;//2式 1式带入2式 等价于 b = a ^ b ^ b = a,此时b就是a

a = a ^ b;//3式 同理 a = a ^ b ^ a(原本是b) = b

不足:可读性差,不好理解