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

2021-07-05 05:35:13 字數 1323 閱讀 4353

/* 

*all right reserved.

*檔名稱:函式引數傳遞的三種方式.cpp

*完成日期:2023年9月11日

*版本號:v1.0

* *問題描述:編寫能夠交換兩個變數的swap函式的三個版本。

*程式輸入:待交換的的兩個整數。

*程式輸出:交換後的結果。

*/

(1)傳值

#includevoid myswap(int *,int *);  

int main()

void myswap(int x, int y)

執行結果:

·結果:第一種方法顯然沒有傳值成功,這種方法沒有對實參進行操作,雖然改變了形參,但是實參不會改變。

(2)傳位址

#includevoid myswap(int *,int *);  

int main()

void myswap(int *p1, int *p2)

執行結果:

結果:第二種方法成功進行了交換。位址傳遞把實參的儲存位址傳送給對應的形參,使形參指標和實參指標指向同乙個位址。所以,形參改變實參也會相應改變。

(3)引用作形參

#includevoid myswap(int *,int *);  

int main()

void myswap(int &x, int &y)

執行結果:

結果:

第三種方法進行了交換。把引用作為引數,形參的任何變化實參都會發生變化,而且比第二種方法更簡便。引用傳遞方式是在函式定義時在形參前面加上引用運算子「&」。

知識點總結:

通過執行結果對比,加深了我對這三種方式的理解,避免出現第一種方法的錯誤。

學習心得:

我直接複製的原程式,根本沒檢查一邊,結果主函式沒宣告交換函式,所以執行的三種結果都是錯的。所以粗心是我以後要攻克的難關。

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

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

第二週專案 C C 語言中函式引數傳遞的三種方式

問題及 2015,煙台大學計算機與控制工程學院 all rightreserved.檔名稱 test.cpp 作 者 桑立 完成日期 2015年9月7日 問題描述 交換兩個整型變數的三種方式 輸入描述 兩個整型變數 程式輸出 交換後的兩個整型變數 傳值 includeusing namespace ...

第二週專案一c c 語言中函式引數傳遞的三種方式

1 傳值 include using namespace std void myswap int x,int y int main int a,b cout cin b myswap a,b cout 沒有進行交換,呼叫函式本身不會對實參進行操作。進行了交換,位址傳值把實參的儲存位址傳送給對應的形參...