一般交换两个数,都是声明第三个数,如:
int a=1;
int b=2;
int c;//交换a b ,生成c
c=a;
a=b;
b=c;
如果不想使用第三个数,可以巧妙的运用四则运算,如:
int a=13;
int b=23;
a=b-a;
b=b-a;
a=a+b;
还有就是使用到位运算符的方式,异或,符号为 ^ ,规则是:两个操作数,转为二进制,相同则为0,不同则为1。
int x=10; // 1010
int y=5;// y= 0101
x=x^y; // x= 1111 =15
y=y^x;// y= 1010 =10
x=x^y;// x= 0101 =5