/*
*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 沒有進行交換,呼叫函式本身不會對實參進行操作。進行了交換,位址傳值把實參的儲存位址傳送給對應的形參...