方法一:引入乙個臨時變數t
t = a;
a = b;
b = t;
方法二:相加減(有數值越界風險)
a = a + b;
b = a - b;
a = a - b;
方法三:異或運算
a = a ^ b;
b = a ^ b;
a = a ^ b;
說說異或運算,就是兩個數進行異或運算,先轉換成二進位制數,再進行異或。當二進位制位數上的數相異時為1,相同時為0。
例如0100^0101,得到的值是0001。
根據異或運算的概念可知,兩個相同的數進行異或運算,得到的一定是0。因為他們各位上的值都一樣。乙個數和0進行異或運算,得到的一定還是那個數。
另外,多個數進行異或運算,先算哪兩個都行,不分優先順序。
綜上所述,a^b^b就相當於a^0,也就是a
C語言 互換兩個數的值的三種方法
我在第一次c語言學習的過程中,對於c語言的認識不夠深刻,我覺得這種解法已經非常厲害。畢竟能將簡單的兩個數的交換用計算機的邏輯編寫出來,並實現正確執行.int main 然而,通過這兩天的學習,我發現前一種方法在實踐中並不完美。這段 在執行的過程中會建立乙個臨時變數,多佔了一塊記憶體空間。對記憶體的利...
交換兩個數的三種方法
1.使用臨時變數 public static void main string args throws exception2.不使用臨時變數 加減法 注意int範圍 public static void main string args throws exception3.不適用臨時變數 使用位運算...
交換兩個數的值的方法 三種
採用中間變數c,來承接a的值,再將a的值設定為b,最後將中間變臉c的值設定到b中。int a 10 int b 20 int c a a b b c system.out.println a a system.out.println b b 輸出結果為 a 20 b 10原理 為了方面說明,將a,b...