C語言中解決兩個變數儲存資料交換的模板

2021-10-02 18:41:17 字數 794 閱讀 8233

c語言初學者一般都會碰到涉及兩個變數儲存資料交換的問題,一般這類問題都是以交換數值作為任務。例如:

定義兩個整型變數a=10,b=20;請設法將變數a,b的值交換一下,輸出交換後的結果。

不少人看到這個問題後感覺無從下手,會自然想到用兩個變數之間相互賦值來企圖「暴力求解」,但最終都以失敗告終。其實,解決這類問題,我們可以有兩個思路。

一是採用引入乙個新變數,以此新變數作為媒介進行交換。二是運用指標。第二種方法比較高階,也是我個人推薦的。兩種思路,都可以化用為模板進行套用。

首先我們要搭建乙個基本語句

#include

int main()

接下來我們引入乙個新的變數temp,做以下操作

int temp;

temp = a;

a = b;

b = temp;`

然後用printf("%d,%d\n",a,b);輸出a,b即可。

如果使用指標,關鍵是要在基本語句的基礎上構建以**系

int *p1=&a;

int *p2=&b;

int tmp=*p1;

*p1=*p2;

*p2=tmp;

使用第一種方法的源**如下:

#include

intmain()

如果使用指標,源**如下`

#include

intmain()

總之,實現兩個變數之間的交換,我們一定要有建立新變數,新指標的意識。這樣才有利於問題的解決。

C語言中交換兩個變數的值

在c語言中,要交換兩個變數的值,對於不同的人,可能會有不同的方法。對於初學者來說,可能是這樣。void swap int x,int y 但是,c語言中的函式呼叫採用的值傳遞,因此在主函式中呼叫該swap函式顯然無法交換兩個變數的值。當然,對於很多使用c語言的人來說,不會犯上面的錯誤,會這麼寫交換函...

C語言中變數儲存類別

c語言根據變數的生存週期來劃分,可以分為靜態儲存方式和動態儲存方式。靜態儲存方式 是指在程式執行期間分配固定的儲存空間的方式。靜態儲存區中存放了在整個程式執行過程中都存在的變數,如全域性變數。動態儲存方式 是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存區中存放的變數是根據程式執行的...

C語言 交換兩個變數的

c語言中交換兩個變數值 a,b 的幾種方法 1 利用臨時變數 int temp temp a a b b temp 2 不用臨時變數 這種方法有可能溢位 a a b b a b a a b 3 用按位運算子 這種方法不適合浮點數 a a b b a b a a b 4 記憶體拷貝方法 個人覺得這種方...