C語言中的輸出參數應該是指針吧\x0d\x0aint max(int a, int b,int *m)//a,b是輸入參數,m是輸出參數\x0d\x0a{\x0d\x0a *m = ab?a:b;\x0d\x0a return *m;\x0d\x0a}\x0d\x0a\x0d\x0aint main()\x0d\x0a{\x0d\x0a int a=2,b=3,m;\x0d\x0a max(a,b,m);\x0d\x0a printf("max=%d\n",m);\x0d\x0a}
競秀ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
希望題主能弄清楚以下3個概念:
函數返回值類型:
函數的返回值類型需要在函數定義時指明于函數名左側,返回值類型決定了函數能夠通過return語句返回的值的類型。比如一個函數返回值定義為char型,而函數內部的return語句返回的卻是一個float型,那么return語句處就會出錯,因為返回的值的類型和事先聲明的函數返回值類型不匹配。(舉個通俗例子:我讓你做完某件事告訴我一個字,結果你做完了卻告訴我一個數,那我和你還能好好溝通嗎?)
return語句:
函數執(zhí)行時遇到return語句則會結束函數,并將return右側的“量”(變量、常量、字面值等)作為函數的返回值返回給調用方,return右側返回的這個“量”必須和函數定義時指明的函數返回值類型相匹配(或者能夠自動轉換,比如函數返回值指明為double型,函數內部return 1;是沒錯的,因為1是個整數但可以自動轉換為double型的1.0)
輸出參數
輸出參數是一個比較“高級”的概念,有時候我們希望函數能夠“返回多個值”,但函數返回值永遠都只能是一個,那么這時候我們可以通過令函數的參數為“接收返回值”的變量指針來實現“返回多個值”的效果,此時這些“接收返回值”的變量指針就是“輸出參數”。舉例來說,我們希望一個函數能將一個int數組中的最大值max、最小值min、平均值ave都算出來,但函數的返回值只有能一個,那該怎么辦?此時我們就可以利用指針來實現“輸出參數”
void?func(int?*max,int?*min,int?*ave)
//這個函數返回值是void,但通過3個指針參數,我們實現了將結果“輸出”的目的
//只要調用方用3個int型變量來“接收”輸出結果即可,這就是“輸出參數”
1、C語言中,所謂傳參一般調用一個函數時,傳遞過來的參數,否則被調用函數是無法使用調用函數里面的參數的,除了全局參數等。
2、C語言中的返回值一般一return 的形式出現,就是這個函數結束時,會拋出需要返回的一個值。在調用的函數中可以接收。下面我舉一個完整的例子來說明這幾者的關系。
3、例程:
#include stdio.h
int counter(int i);
void main(void)
{
int j,m;
m = 5;
j = counter(m); //此處調用函數counter();并且傳入參數,一個int型的m,
//次函數在結束時將返回一個int型,這里用j來接收
printf("返回值為:%d\n",j);
}
int counter(int i) //這里是函數定義,int counter();說明此函數將會返回一個
{ //int型
//counter(int i);表示在調用此函數時需要傳入一個int型參數
return i + 1; //此處是函數將要返回的值,傳進來的是5,那返回 5 + 1,返回6
}