*問題描述:輸入兩個待交換的整數,呼叫函式後交換兩個函式的值
*輸入:兩個整數
*輸出:兩個交換過值的整數
*/
//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...