交換兩個變數的值

2021-07-10 12:37:56 字數 651 閱讀 5883

交換兩個變數的值

交換兩個變數的值是我們學習c語言常見的問題,通常我們採取的方式是定義中間變數,通過中間變數交換這兩個變數值。

1、直接在主函式裡完成 

int a=2,b=3;

int  t;

t=a;a=b;b=t;

2、通過定義swap()完成交換,其中可以通過引用、位址傳遞完成變數值交換

①、引用

#include

void swap1(int &a,int &b) 

int main()

②位址傳遞

void swap2(int *a,int *b)

int main()

3、以上例子我們可以看出交換兩個變數值都用到中間變數 ,那麼如何不用到中間變數完成兩個變數值的交換,以下有兩種方法。

①、算數運算

#include

int main()

這種方法沒有用到中間變數完成了兩個變數值的交換,對於int 而言2位元組數取值範圍為-2^15~(2^15-1) , 4位元組數取值範圍為-2^31~(2^31-1),那麼這種辦法可能會遇到值的溢位問題,並不是那麼完美。

②位運算

#include

int main()

這種方法可以沒有用到中間變數,同時避免了值溢位問題。

交換兩個變數的值

有兩個整數a和b,下面將用四種方法把他們的值進行交換 方法1 借助臨時變數tmp include intmain 如果要求不能建立其他變數,還有下面的方法 方法2 巧妙進行數值運算 include intmain 方法3 二進位制異或運算 include intmain 整數10的二進位制數表示為 ...

交換兩個變數的值

交換兩個變數的值 方式一 定義臨時變數的方式 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...