有兩個整數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...