不使用第三个变量交换两个变量的值

1 原点距离法

int a=3,b=5;//把a b看成X轴上的两个点 

a=b-a;//两点之间的距离是2

b=b-a;//b减去距离就是a的坐标,

a=a+b;//b的坐标+距离就是a的坐标

2 异或法

任意一个数与任意一个给定的值连续异或两次,值不变

int a=3,b=5;

a=a^b;

b=a^b;

a=a^b;

原文地址:https://www.cnblogs.com/cad2/p/10119517.html