溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c語言中return的使用方法

發(fā)布時間:2020-06-11 11:51:59 來源:億速云 閱讀:248 作者:Leah 欄目:編程語言

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

函數(shù)的返回值是指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的代碼所得到的結(jié)果,這個結(jié)果通過 return 語句返回。

return 語句的一般形式為:

return 表達式;

或者:

return (表達式);

有沒有( )都是正確的,為了簡明,一般也不寫( )。例如:

return max;
return a+b;
return (100+200);

對C語言返回值的說明:

1) 沒有返回值的函數(shù)為空類型,用void表示。例如:

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

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

int a = func();

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

2) return 語句可以有多個,可以出現(xiàn)在函數(shù)體的任意位置,但是每次調(diào)用函數(shù)只能有一個 return 語句被執(zhí)行,所以只有一個返回值(少數(shù)的編程語言支持多個返回值,例如Go語言)。例如:

//返回兩個整數(shù)中較大的一個
int max(int a, int b){
    if(a > b){
        return a;
    }else{
        return b;
    }
}

如果a>b成立,就執(zhí)行return a,return b不會執(zhí)行;如果不成立,就執(zhí)行return b,return a不會執(zhí)行。

3) 函數(shù)一旦遇到 return 語句就立即返回,后面的所有語句都不會被執(zhí)行到了。從這個角度看,return 語句還有強制結(jié)束函數(shù)執(zhí)行的作用。例如:

//返回兩個整數(shù)中較大的一個
int max(int a, int b){
    return (a>b) ? a : b;
    printf("Function is performed\n");
}

第 4 行代碼就是多余的,永遠沒有執(zhí)行的機會。

下面我們定義了一個判斷素數(shù)的函數(shù),這個例子更加實用:

#include <stdio.h>
int prime(int n){
    int is_prime = 1, i;
    //n一旦小于0就不符合條件,就沒必要執(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() 是一個用來求素數(shù)的函數(shù)。素數(shù)是自然數(shù),它的值大于等于零,一旦傳遞給 prime() 的值小于零就沒有意義了,就無法判斷是否是素數(shù)了,所以一旦檢測到參數(shù) n 的值小于 0,就使用 return 語句提前結(jié)束函數(shù)。

return 語句是提前結(jié)束函數(shù)的唯一辦法。return 后面可以跟一份數(shù)據(jù),表示將這份數(shù)據(jù)返回到函數(shù)外面;return 后面也可以不跟任何數(shù)據(jù),表示什么也不返回,僅僅用來結(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ù),直接寫分號即可。

上文描述的就是c語言中return的使用方法,具體使用情況還需要大家自己動手實驗使用過才能領(lǐng)會。如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI