交换两个整型变量的方式,我们一般都会借助一个临时变量来交换。在这里,不用临时变量,直接交换连个整型变量的值。
方法一:
int a=3,int b=8;
//交换a和b的值
n=n+m;
m=n-m;
n=n-m; //这种方法比较容易造成溢出,如果n和m都很大的话。
方法二:
int n=3;
int m=8;
n=n^m;
m=n^m;
n=n^m; //不会造成溢出
对于异或运算:n^m^m=n。
异或运算符只适用于整数,浮点型是不能进行异或运算的。
这两种方法交换变量的值都有局限性,但提供了一种思路。