在很多情況下,程式員需要交換兩個變數的值。 在這裡,我們將學習如何交換兩個整數變數的值,這可以交換任何型別的值。 變數之間的值可以通過兩種方式進行交換:
我們已經學會了第一種方法。 這裡將學習第二種方法。雖然它看起來像一個魔法,但它只是一個小技巧。 想象一下,現在我們有兩個數位1
和2
分別儲存在變數a
和b
中 -
如果相加變數a
和b
,即(1 + 2)
並儲存到a
,則a
將變為3
,b
仍然為2
。
現在從a(3)
的新值中減去b(2)
,並將其儲存到b
,那麼a
仍然是3
,b
變成1
。
注意:變數
a
現在的值是:1
。
現在,我們從3
中減去b
的具有新值1
,並將其儲存到b(a = 3 - 1)
,然後變數a
的值變成2
。最後得出結論 - 兩個變數的值被交換。
C語言實現上述演算法應該是這樣的 -
#include <stdio.h>
int main() {
int a, b;
a = 11;
b = 99;
printf("Values before swapping - \n a = %d, b = %d \n\n", a, b);
a = a + b; // ( 11 + 99 = 110)
b = a - b; // ( 110 - 99 = 11)
a = a - b; // ( 110 - 11 = 99)
printf("Values after swapping - \n a = %d, b = %d \n", a, b);
}
執行上面範例程式碼,得到以下結果 -
Values before swapping -
a = 11, b = 99
Values after swapping -
a = 99, b = 11