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

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

4个回答

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;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐