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

2021-07-05 03:35:25 字數 1029 閱讀 2749

問題及**:

/*2015,煙台大學計算機與控制工程學院

*all rightreserved.

*檔名稱:test.cpp

*作 者:桑立

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

*問題描述:交換兩個整型變數的三種方式

*輸入描述:兩個整型變數

*程式輸出:交換後的兩個整型變數

*///傳值

#includeusing namespace std;

void myswap(int x, int y)

int main()

//傳位址

#includeusing namespace std;

void myswap(int *p1, int *p2)

int main()

//引用作形參

#includeusing namespace std;

void myswap(int &x, int &y)

int main()

執行結果:

(1)傳值結果

(2)傳位址結果

(3)引用結果

知識點總結:傳值交換不成功的原因----只改變了形參的值,函式呼叫結束,形參空間釋放,實參依然沒有改變。

傳位址交換成功的原因----實參向形參傳遞儲存單元的位址,改變形參只想單元的值。

引用交換成功的原因----形參與實參占用同乙個空間,形參改變,那麼實參就改變。

學習心得:開始時,總是不認真,寫的程式中有很多錯誤,希望自己以後改正。能真正用好csdn這個平台,做到真正成長。

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

第二週專案二

檔名稱 test.cpp 作 者 李文賀 完成日期 2015年3月29日 版 本 號 v1.0 問題描述 輸入描述 程式輸出 結果 include includeusing namespace std class void setb double y void setc double z doubl...

第二週專案2

程式的版權和版本宣告部分 檔名稱 score.cpp 作 者 完成日期 年 月 日 版本號 v1.0 輸入描述 已經在程式中初始化 問題描述 將學生成績資訊儲存在結構體陣列中,對結構體排序並輸出 輸出 按c 降序和按學號公升序排序後的學生成績單...