交換a,b變數的值,最簡單的方法,建立中間中間變數c,先把a的值存在c裡,然後把b的值放入a內,最後把c中的值賦給a,就完成了a,b變數值的交換。**如下:
#include
//利用中間變數交換兩個變數值
int main()
如果不使用中間變數,我們可以利用異或運算來實現兩個變數值的交換。比如變數a=3,b=7,我們利用異或運算來交換a和b的值,運算過程如下:
a ——– 0011 (十進位制的3)
b ——– 0111 (十進位制的7)
a^b —– 0100 (十進位制的4)
此時再用a^b的結果異或a則得到即7,同理可以得到即3。
於是,我們可以先使a=a^b(執行此條語句後a=4,b=7),再使b=a^b(執行此條語句後a=4,b=3),最後使a=a^b(執行此條語句後a=7,b=3),這時就完成了變數a,b值的交換。具體**如下:
#define _crt_secure_no_warnings 1
#include
//利用異或運算交換兩個變數值
int main()
c語言交換兩個變數的值
有兩個變數a 和b,想要交換它們的值 int a,b 能不能這樣操作呢?b a a b 不能啊,這樣操作的意思是把a的值放到b中,然後b中的值已經被覆蓋掉了,已經不是b原來的那個值了,所以是沒有意義的。ok,既然不能這樣操作,那怎麼辦?看一下問題出在 是不是b的值被覆蓋掉了,那麼可以先把b的值備份一...
C語言中交換兩個變數的值
在c語言中,要交換兩個變數的值,對於不同的人,可能會有不同的方法。對於初學者來說,可能是這樣。void swap int x,int y 但是,c語言中的函式呼叫採用的值傳遞,因此在主函式中呼叫該swap函式顯然無法交換兩個變數的值。當然,對於很多使用c語言的人來說,不會犯上面的錯誤,會這麼寫交換函...
C 交換兩個變數的值
下面是幾個交換兩個數字的函式,分析以下程式,看結果是否正確?一 error include void swap err1 int a,int b error1 int main 父函式 執行上面程式,結果是 a 10,b 20 a 20,b 10 a 10,b 20 對結果進行分析,第一行的a和b是...