交換兩個變數的值

2021-10-04 18:46:25 字數 930 閱讀 1700

有兩個整數a和b, 下面將用四種方法把他們的值進行交換

方法1: 借助臨時變數tmp

#include

intmain()

如果要求不能建立其他變數, 還有下面的方法

方法2: 巧妙進行數值運算

#include

intmain()

方法3: 二進位制異或運算

#include

intmain()

整數10的二進位制數表示為: 00000000 00000000 0000000000001010

整數20的二進位制數表示為: 00000000 00000000 0000000000010100

異或運算規則: 兩個運算元對應二進位制位相同為0, 不同為1

因此我們重點看最後8個位元位

第乙個異或運算:

a = a ^ b = 00001010 ^ 00010100 =00011110

第二個異或運算:

b = a ^ b = 00011110 ^ 00010100 =00001010= 原來的整數a

第三個異或運算:

a = a ^ b = 00011110 ^ 00001010 =00010100= 原來的整數b

方法4: 指標變數交換

#include

void

swap

(int

* pa,

int* pb)

intmain()

交換兩個變數的值

交換兩個變數的值 交換兩個變數的值是我們學習c語言常見的問題,通常我們採取的方式是定義中間變數,通過中間變數交換這兩個變數值。1 直接在主函式裡完成 int a 2,b 3 int t t a a b b t 2 通過定義swap 完成交換,其中可以通過引用 位址傳遞完成變數值交換 引用 inclu...

交換兩個變數的值

交換兩個變數的值 方式一 定義臨時變數的方式 int temp num1 num1 num2 num2 temp 方式二 num1 num1 num2 num2 num1 num2 num1 num1 num2 好處 不用定義臨時變數 弊端 1 相加操作肯超過儲存範圍 2 有侷限性 只適用於數值型別...

python交換兩個變數的值

大部分語言,例如c語言,交換兩個變數的值需要使用中間變數。例如交換a,b 偽 tmp a a b b tmp python裡面可以實現無臨時變數的交換 a,b b,a 對於它的交換原理我深感好奇,因為這意味著python直譯器很有可能做了件更多的工作。如果說變數可以直接交換,那麼列表的元素呢?lis...