樓下真牛逼,恐怕是怪獸大學(xué)畢業(yè)的吧。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站制作、建水網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、建水網(wǎng)絡(luò)營(yíng)銷(xiāo)、建水企業(yè)策劃、建水品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供建水建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
推薦做法
把函數(shù)聲明寫(xiě)成這樣int func(int* ret1,int* ret2)
這樣就可以用ret1和ret2來(lái)返回信息了,事實(shí)上,scanf函數(shù)就是這樣的一個(gè)例子。
方案二呢,可以將多個(gè)返回值打成一個(gè)結(jié)構(gòu)體,然后作處理,其實(shí)這種方式不怎么好,因?yàn)榻Y(jié)構(gòu)里的兩個(gè)變量很可能沒(méi)什么聯(lián)系,而你卻把他們打包在一起。其實(shí),等你學(xué)得好了,你會(huì)發(fā)現(xiàn)其實(shí)還有很多方法都可以達(dá)到目的,因?yàn)閏語(yǔ)言就是如此強(qiáng)大而靈活。最后,警告一下不要用 return a,b之類的語(yǔ)句。因?yàn)閍,b會(huì)被解釋為一個(gè)逗號(hào)表達(dá)式,它最終的值就是b的值,所以return a,b;就等同于return b;
方法一:設(shè)置全局變量,這樣在形參中改變?nèi)肿兞浚趯?shí)參中也會(huì)有效。所以可以在形參中改變多個(gè)全局變量的值,那么在實(shí)參中就相當(dāng)于返回多個(gè)值。
方法二:如果用數(shù)組名作為形參,那么改變數(shù)組內(nèi)容,比如排序,或者進(jìn)行加減運(yùn)算,回到實(shí)參時(shí)依然是有效的。這樣也會(huì)返回一組值。
方法三:可以利用指針變量,這個(gè)原理和方法二是一樣的,因?yàn)閿?shù)組名本身就是數(shù)組首元素的地址。就不多說(shuō)了。 用結(jié)構(gòu)體封裝不同類型數(shù)據(jù),或者用數(shù)組表示同類型數(shù)據(jù),然后返回結(jié)構(gòu)體指針或者數(shù)組名,本質(zhì)都是用指針來(lái)返回多個(gè)參數(shù)
方法四:如果學(xué)過(guò)C++,可以引用參數(shù)
首先比喻下函數(shù)是什么吧?
函數(shù)簡(jiǎn)單的說(shuō)就是一個(gè)黑箱子似的制造機(jī)器,你給他原料(輸入?yún)?shù))它給你制造出產(chǎn)品(函數(shù)返回的結(jié)果)。
所以函數(shù)的返回值一般就是你想要的結(jié)果。當(dāng)然有些函數(shù)沒(méi)有返回值,比如輸出一句話的函數(shù),這函數(shù)就沒(méi)有返回值。c++用void型表示。但是求兩個(gè)數(shù)的最大值函數(shù)int
max(int
a,
int
b)的返回值就可以是你求的最大的值。
int
max(int
a,
intb)
{
if(ab)
{
return
a;
}
else
{
return
b;
}
}
其中return返回的值就是函數(shù)的返回值。
函數(shù)是不能直接返回兩個(gè)值的,不過(guò)可以通過(guò)數(shù)組,列表,鏈表等方式,返回多個(gè)值。
例如 int a[] f(),這個(gè)shu函數(shù)返回值就是一個(gè)整型的數(shù)組,如果你要返回兩個(gè)值,可以定義數(shù)組長(zhǎng)度為2,a[0]保存第一個(gè)值,a[1]保存第二個(gè)值。
int fun(int a, int b, int *c, int *d);
參數(shù)是a,b,返回值是c,d,c和d用指針傳進(jìn)去。
c,d可以是其他參數(shù)類型,也可以是數(shù)據(jù)結(jié)構(gòu)。
函數(shù)返回值可以用于返回error。
擴(kuò)展資料:
如果沒(méi)有返回值類型名為"void", 整數(shù)類型int 類型返回值為整數(shù)類型int,以此類推……
類型名有:void int long float int* long* float* ……
C++中函數(shù)的調(diào)用:函數(shù)必須聲明后才可以被調(diào)用。調(diào)用格式為:函數(shù)名(實(shí)參)
調(diào)用時(shí)函數(shù)名后的小括號(hào)中的實(shí)參必須和聲明函數(shù)時(shí)的函數(shù)括號(hào)中的形參個(gè)數(shù)相同。
有返回值的函數(shù)可以進(jìn)行計(jì)算,也可以做為右值進(jìn)行賦值。
參考資料來(lái)源:百度百科-函數(shù)
在C#中讓一個(gè)函數(shù)返回多個(gè)值有兩種方法可以實(shí)現(xiàn):
第一種是使用指針變量聲明函數(shù)(或者使用數(shù)組變量)第二種是使用傳出參數(shù)
第一種方法:函數(shù)返回的是一個(gè)指針地址(數(shù)組地址),這個(gè)內(nèi)存地址有多個(gè)變量寄存在里面。這個(gè)方法我不太會(huì)用,傳地址傳值我常常搞的淅瀝糊涂。
第二種方法:我用例子說(shuō)明。
首先聲名一個(gè)函數(shù),定義如下
public bool CheckName(string UserName, out string PassWord, Out int State)
{
if ( UserName == "890" )
{
PassWord = "232"; State = 0;
}
else
{
PassWord = ""; State = 1;
}
return false;
}
應(yīng)用方法如下:
string PassWord = "";
int State = 0;
string UserName = "abc";
bool falg = CheckName(UserName,out PassWord, out State);
這個(gè)就可以得到函數(shù)CheckUser返回的三個(gè)值falg 、PassWord、State在使用out型參數(shù)的時(shí)候必須事先聲明,否則無(wú)法使用,可以看作輸出參數(shù)的初始化。