c語(yǔ)言中return的使用方法-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)c語(yǔ)言中return的使用方法。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專(zhuān)業(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)系電話(huà):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ù)為空類(lèi)型,用void表示。例如:

void func(){
    printf("http://c.biancheng.net\n");
}

一旦函數(shù)的返回值類(lèi)型被定義為 void,就不能再接收它的值了。例如,下面的語(yǔ)句是錯(cuò)誤的:

int a = func();

為了使程序有良好的可讀性并減少出錯(cuò), 凡不要求返回值的函數(shù)都應(yīng)定義為 void 類(lèi)型。

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í)用:

#include <stdio.h>
int prime(int n){
    int is_prime = 1, i;
    //n一旦小于0就不符合條件,就沒(méi)必要執(zhí)行后面的代碼了,所以提前結(jié)束函數(shù)
    if(n < 0){ return -1; }
    for(i=2; i<n; i++){
        if(n % i == 0){
            is_prime = 0;
            break;
        }
    }
    return is_prime;
}
int main(){
    int num, is_prime;
    scanf("%d", &num);
    is_prime = prime(num);
    if(is_prime < 0){
        printf("%d is a illegal number.\n", num);
    }else if(is_prime > 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ù):

#include <stdio.h>
void 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<n; i++){
        if(n % i == 0){
            is_prime = 0;
            break;
        }
    }
    if(is_prime > 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í)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:c語(yǔ)言中return的使用方法-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://muchs.cn/article2/cdsiic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司ChatGPT、靜態(tài)網(wǎng)站微信小程序、自適應(yīng)網(wǎng)站、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)