通常我們都會遇到會要求我們利用相關(guān)步驟進(jìn)行運(yùn)算,并且其結(jié)果可能涉及到多個(gè)值,此時(shí),利用函數(shù)較為方便,但是對于C語言來說,要求單一出口原則,只能返回一個(gè)值,這時(shí)就無法實(shí)現(xiàn)。
我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、朗縣ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的朗縣網(wǎng)站制作公司通常我們可以通過如下方法進(jìn)行多個(gè)值的返回
1.建立數(shù)組,并將數(shù)組作為參數(shù)傳入函數(shù)中,注:傳入函數(shù)時(shí)無法使用sizeof(A)/sizeof(A0)來獲得數(shù)組的個(gè)數(shù)具體可看:數(shù)組名作為函數(shù)參數(shù)以及sizeof用法_小時(shí)候挺菜的博客-博客
主要的意思是說,將數(shù)組作為參數(shù)傳入函數(shù)之后,其(A這個(gè)符號就不在代表A這個(gè)數(shù)組,跳出該函數(shù)之后還是可以作為就變成了指向第一個(gè)位置A[0]的指針,通過sizeof(A)得到的不在是數(shù)組A的大小,而是指向第一個(gè)位置的指針的大小。因此想要得到數(shù)組的長度,必須要單獨(dú)傳入一個(gè)單獨(dú)的參數(shù)代表長度如:LEN。
2.通過單一的指針,當(dāng)我們需要得到的返回值在2個(gè)或幾個(gè),無法通過函數(shù)單一的返回時(shí),除了通過數(shù)組進(jìn)行賦值之外,我們還可以直接將對應(yīng)的值定義之后,在對其進(jìn)行指針的定義然后將指針傳入,利用指針對該值進(jìn)行修改。
int divide(int a,int b,int *result){//此處int *result要求傳入一個(gè)int型指針,在調(diào)用時(shí)傳入對應(yīng)的地址就可
int ret=1;
if(b==0) ret=0;
else{
*result=a/b;
}
return ret;
}
3.通過結(jié)構(gòu)體的指針進(jìn)行運(yùn)算,這種方法適合于要賦值的對象有多個(gè)屬性/值,又有多個(gè)對象,我們就可以建立一個(gè)結(jié)構(gòu)體,然后通過結(jié)構(gòu)體的指針來實(shí)現(xiàn)。然后在函數(shù)中對結(jié)構(gòu)體成員進(jìn)行賦值就可實(shí)現(xiàn)。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
名稱欄目:C語言函數(shù)返回多個(gè)值方法-創(chuàng)新互聯(lián)
網(wǎng)頁鏈接:http://vcdvsql.cn/article44/didche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站建設(shè)、做網(wǎng)站、App開發(fā)、微信小程序、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容