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

2021-07-22 13:50:11 字數 1264 閱讀 8806

問題及**:

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

*檔名稱:111.cpp   

*作    者:陳朋

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

*問題描述:c語言提供了兩種函式引數傳遞的方式:傳值和傳位址。   

在c++中,又拓展了引用方式。  

*輸入描述:兩個字元   

*程式輸出:交換後的兩個字元   

*/   

//**1--傳值: 

#include

using namespace std;    

//(1)傳值    

結果解釋:由執行結果來看,沒有進行交換。因為使用這種方式,呼叫函式本省不對實參進行操作,也就是說,即使形參的值(x,y)在函式中發生了變化,實參的值(a,b)也完全不會受到影響,仍為呼叫前的值,故沒有進行交換。

#include

using namespace std;  

//(2)傳位址  

結果解釋:由執行結果看,進行了交換。位址傳遞與按值傳遞的不同在於,它把實參的儲存位址傳送給對應的形參,從而使得形參指標(p1,p2)和實參(a,b)指標指向同乙個位址。因此,被呼叫函式中對形參指標所指向的位址中內容的任何改變都會影響到實參。

**3--引用作形參:

#include

using namespace std;  

//(3)引用作形參  

結果解釋:

由執行結果看,進行了交換。如果以引用為引數,則既可以使得對形參的任何操作都能改變相應的資料,又使得函式呼叫顯得方便、自然。引用傳遞方式是在函式定義時在形參前面加上引用運算子「&」。

知識點總結:把這三種知識放在一區能更好分辨和學習

學習心得:還需努力

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

1 傳值 include void myswap int,int int main void myswap int x,int y 輸出結果為 2 傳位址 include void myswap int int int main void myswap int p1,int p2 輸出結果為 3 引...

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

問題及 1 傳值 include include using namespace std void myswap int x,int y int main void myswap int x,int y 2 傳位址 include include using namespace std void m...

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

問題及 1 傳值 include include using namespace std void myswap int x,int y int main void myswap int x,int y 2 傳位址 include include using namespace std void m...