方法一 加减运算:
{
int a = 3;
int b = 23;
cout<< "a="<<a<<endl;
cout<< "b="<<b<<endl;
a = a+b;
b = a-b;
a = a-b;
cout<< "a="<<a<<endl;
cout<< "b="<<b<<endl;
}
方法二: 异或
异或运算符^也称XOR运算符,它的规则是若参加运算的两个二进位同号,则结果为0(假);异号为1(真)。即0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0。
{
int a = 2, b = 6;
a = a ^ b;
b = b ^ a;
a = a ^ b;
printf("a = %d b = %d/n", a, b);
}
总结 :其原则是,通过一个可逆运算,将 a和b运算的结果赋值给其中一个,而另一个还是原值,再通过可逆运算,反推。
参考:http://blog.csdn.net/lpt19832003/article/details/5334688