這篇文章給大家分享的是有關(guān)c語(yǔ)言中return的使用方法。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蘭陵做網(wǎng)站,已為上家服務(wù),為蘭陵各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的代碼所得到的結(jié)果,這個(gè)結(jié)果通過(guò) return 語(yǔ)句返回。
return 語(yǔ)句的一般形式為:
return 表達(dá)式;
或者:
return (表達(dá)式);
有沒(méi)有( )都是正確的,為了簡(jiǎn)明,一般也不寫(xiě)( )。例如:
return max; return a+b; return (100+200);
對(duì)C語(yǔ)言返回值的說(shuō)明:
1) 沒(méi)有返回值的函數(shù)為空類型,用void表示。例如:
void func(){ printf("http://c.biancheng.net\n"); }
一旦函數(shù)的返回值類型被定義為 void,就不能再接收它的值了。例如,下面的語(yǔ)句是錯(cuò)誤的:
int a = func();
為了使程序有良好的可讀性并減少出錯(cuò), 凡不要求返回值的函數(shù)都應(yīng)定義為 void 類型。
2) return 語(yǔ)句可以有多個(gè),可以出現(xiàn)在函數(shù)體的任意位置,但是每次調(diào)用函數(shù)只能有一個(gè) return 語(yǔ)句被執(zhí)行,所以只有一個(gè)返回值(少數(shù)的編程語(yǔ)言支持多個(gè)返回值,例如Go語(yǔ)言)。例如:
//返回兩個(gè)整數(shù)中較大的一個(gè) int max(int a, int b){ if(a > b){ return a; }else{ return b; } }
如果a>b成立,就執(zhí)行return a,return b不會(huì)執(zhí)行;如果不成立,就執(zhí)行return b,return a不會(huì)執(zhí)行。
3) 函數(shù)一旦遇到 return 語(yǔ)句就立即返回,后面的所有語(yǔ)句都不會(huì)被執(zhí)行到了。從這個(gè)角度看,return 語(yǔ)句還有強(qiáng)制結(jié)束函數(shù)執(zhí)行的作用。例如:
//返回兩個(gè)整數(shù)中較大的一個(gè) int max(int a, int b){ return (a>b) ? a : b; printf("Function is performed\n"); }
第 4 行代碼就是多余的,永遠(yuǎn)沒(méi)有執(zhí)行的機(jī)會(huì)。
下面我們定義了一個(gè)判斷素?cái)?shù)的函數(shù),這個(gè)例子更加實(shí)用:
#includeint prime(int n){ int is_prime = 1, i; //n一旦小于0就不符合條件,就沒(méi)必要執(zhí)行后面的代碼了,所以提前結(jié)束函數(shù) if(n < 0){ return -1; } for(i=2; i 0){ printf("%d is a prime number.\n", num); }else{ printf("%d is not a prime number.\n", num); } return 0; }
prime() 是一個(gè)用來(lái)求素?cái)?shù)的函數(shù)。素?cái)?shù)是自然數(shù),它的值大于等于零,一旦傳遞給 prime() 的值小于零就沒(méi)有意義了,就無(wú)法判斷是否是素?cái)?shù)了,所以一旦檢測(cè)到參數(shù) n 的值小于 0,就使用 return 語(yǔ)句提前結(jié)束函數(shù)。
return 語(yǔ)句是提前結(jié)束函數(shù)的唯一辦法。return 后面可以跟一份數(shù)據(jù),表示將這份數(shù)據(jù)返回到函數(shù)外面;return 后面也可以不跟任何數(shù)據(jù),表示什么也不返回,僅僅用來(lái)結(jié)束函數(shù)。
更改上面的代碼,使得 return 后面不跟任何數(shù)據(jù):
#includevoid prime(int n){ int is_prime = 1, i; if(n < 0){ printf("%d is a illegal number.\n", n); return; //return后面不帶任何數(shù)據(jù) } for(i=2; i 0){ printf("%d is a prime number.\n", n); }else{ printf("%d is not a prime number.\n", n); } } int main(){ int num; scanf("%d", &num); prime(num); return 0; }
prime() 的返回值是 void,return 后面不能帶任何數(shù)據(jù),直接寫(xiě)分號(hào)即可。
上文描述的就是c語(yǔ)言中return的使用方法,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過(guò)才能領(lǐng)會(huì)。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。