在编程中,我们经常遇到将a,b的值交换这种情况,下面就说说交换a,b的方法。

1,最常规的就是定义一个变量,通过他交换

int a=1,b=2,t;

t=a;

a=b;

b=t;


对于这种方法我们可以用宏定义,方便下次用到。

#define swap(t,a,b) {int t=a;a=b;b=t;}

main()

{
        int a=1,b=2;
         swap(t,a,b);

}


2,用相加(+)和异或(^)交换。

首先是相加,这样有个缺点,a+b的值不能超过int

int a=1,b=2;

a=a+b;

b=a-b;

a=a-b;


然后是异或,因为异或是位运算符,所以这样交换速度比较快。

int a=1,b=2;

a=a^b;

b=a^b;

a=a^b;