不通过第三个变量来交换两个变量的值

方法一:a = a + b - (b = a);     //这里可能存在运算顺序的问题,先求(b=a)先呢?还是先求a+b?这因编译器而已,不可移植,不建议使用这种方法(修改于2016-12-06)

方法二:b = a + (a = b) * 0;     //不建议使用这种方法,理由同上(修改于2016-12-06)

方法三:a = a + b;
    b = a - b;
    a = a - b;

方法四:a = a * b;
    b = a / b;
    a = a / b;

方法五:a = a ^ b;
    b = a ^ b;
    a = a ^ b;


原文地址:https://www.cnblogs.com/guanguangreat/p/6119157.html