第2周專案1 函式引數傳遞的三種方式

2021-08-08 03:10:24 字數 1082 閱讀 2665

*問題描述:輸入兩個待交換的整數,呼叫函式後交換兩個函式的值

*輸入:兩個整數

*輸出:兩個交換過值的整數

*/

//1.傳值

#includeusing namespace std;

void myswap(int x,int y)

int main()

int main()

int main()

{ int a,b;

cin>>a>>b;

myswap (&a,&b);

cout<

執行結果:

知識點總結:

第一種方式沒有成功交換,原因在於在函式呼叫時建立的x,y變數是區域性變數,只是接收了a和b的值,函式體中對x,y進行了交換並未對a,b本身進行交換。而x,y在呼叫結束後又被自動釋放了。故不能成功交換。

第二種方式交換成功,函式使用了指標變數做函式的形式引數,傳遞的是a,b兩變數的位址。在函式體中是對兩位址所指向的變數進行了交換,所以交換了a,b兩變數的值,交換成功。

第三種方式交換成功,是使用了引用方式。所謂引用例如int &a=b,代表的是a是b的別名,a與b占用的是同乙個儲存空間,也就是說a就是b。函式形式引數的x,y實際上就是a和b。在函式體中對x,y進行交換實際上就是對a,b進行了交換。故交換成功。

學習心得:

通過比較函式引數傳遞的三種方式,了解了c++語言中函式引數傳遞的實質,也複習鞏固了以前所學的知識,對於資料結構有了深入的了解與認識。

第2周專案1c 語言中函式引數傳遞的三種方式

檔名稱 1.cpp 完成日期 2017年9月7日 版本號 v1.0 include using namespace std void myswap1 int p1,int p2 利用指標進行傳值,計算機會進行開闢乙個形參空間來儲存實參位址 引用 void myswap2 int x,int y 形參...

第二週專案1函式引數傳遞的三種方式

all right reserved.檔名稱 函式引數傳遞的三種方式.cpp 完成日期 2015年9月11日 版本號 v1.0 問題描述 編寫能夠交換兩個變數的swap函式的三個版本。程式輸入 待交換的的兩個整數。程式輸出 交換後的結果。1 傳值 includevoid myswap int int...

第二週 專案1 函式引數傳遞的三種方式

檔名稱 1.cpp 作 者 申鵬鵬 完成時間 2016年 9月8日 版 本 號 v1.0 問題描述 編制三個程式,分別呼叫三個版本的交換函式,觀察結果。輸入描述 兩個待交換的整數 程式輸出 交換後得兩個整數 includevoid myswap int x,int y int main includ...