可能重複:
Swap the values of two variables without using third variable交換兩個變量,而無需使用第三個變量作爲中介位置
寫一個程序,交換兩個變量,而無需使用第三可變作爲中介 位置。
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
????這是真的,,,我對此非常
可能重複:
Swap the values of two variables without using third variable交換兩個變量,而無需使用第三個變量作爲中介位置
寫一個程序,交換兩個變量,而無需使用第三可變作爲中介 位置。
a=2; b=3;
a=a*b; // 6
b=a/b; // 2
a=a/b; // 3
a=3 and b=2
????這是真的,,,我對此非常
錯誤,如果B或A是零,會發生什麼?如果兩者都不爲零,並且您沒有得到該類型的溢出,那麼您的代碼將起作用。
更好地使用沒有「奇點」的可逆運算符。如+
,-
(假設整數的wraparounds都ok。
,當然,獲勝者是XOR。
a ^= b;
b ^= a;
a ^= b;
作業?你可以看一下在網絡上的解決方案。經典的一個使用XOR。 – 2012-03-06 09:13:29
你可以對你的問題/錯誤有更詳細的瞭解嗎? – Cameron 2012-03-06 09:14:36
你將遇到0值問題 – xitx 2012-03-06 09:14:39