我在第一次c語言學習的過程中,對於c語言的認識不夠深刻,我覺得這種解法已經非常厲害。畢竟能將簡單的兩個數的交換用計算機的邏輯編寫出來,並實現正確執行......
int main()
然而,通過這兩天的學習,我發現前一種方法在實踐中並不完美。這段**在執行的過程中會建立乙個臨時變數,多佔了一塊記憶體空間。對記憶體的利用很浪費。
下面是我了解到的一種新的演算法:
int main()
這不是結束,當我接觸到位操作時,這裡我通過學習了解到一種更加厲害的演算法。
int main()
同樣是兩個數值的交換,c語言通過演算法的不同實現了同一種功能,很棒的一題多解。c的魅力確實不只是他能實現任意的功能那麼簡單。
交換兩個數的三種方法
1.使用臨時變數 public static void main string args throws exception2.不使用臨時變數 加減法 注意int範圍 public static void main string args throws exception3.不適用臨時變數 使用位運算...
兩個數值互換的三種演算法
方法一 引入乙個臨時變數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...
交換兩個數的值的方法 三種
採用中間變數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...