如何将两个int变量的值交换位置(前提不用中间变量)?

如何将两个int变量的值交换位置,例如 int a =1; int b =2; 结果为int a =2; int b =1;
不用中间变量!

a=b+(b=a)-a;

數值 不大 的時候 可以 用 kidding87 所提的方法 . 數值過大 會有出現 算术溢位

正確 應該是 用 bit 運算 XOR 的 方式

a = a XOR b
b = b XOR a
a = a XOR b

參考 http://wooyon.iteye.com/blog/183940

a=b+(b-a)*0;
这个不溢出吧

打错了。。
a=b+(b=a)*0;