C言語でのreturnの使い方は何ですか?

coldplay.xixi
リリース: 2020-06-09 17:06:57
オリジナル
10829 人が閲覧しました

C言語でのreturnの使い方は何ですか?

#C 言語での return の使用法は何ですか?

C 言語での return の使用法は次のとおりです。

関数の戻り値は、関数内のコードを実行して得られる結果を指します。関数が呼び出された後の本体。この結果は return ステートメントを介して返されます。

return ステートメントの一般的な形式は次のとおりです:

return 表达式;
ログイン後にコピー

または:

return (表达式);
ログイン後にコピー

( ) の有無にかかわらず正しいです。簡単にするために、一般的には ( ) を使用します。書かれていない。例:

return max;
return a+b;
return (100+200);
ログイン後にコピー

C 言語の戻り値の説明:

1) 戻り値のない関数は空型であり、void で表されます。例:

void func(){
    printf("http://c.biancheng.net\n");
}
ログイン後にコピー

関数の戻り値の型を void として定義すると、その値を受け取ることができなくなります。たとえば、次のステートメントは間違っています。

int a = func();
ログイン後にコピー

プログラムを読みやすくし、エラーを減らすために、戻り値を必要としないすべての関数を void 型として定義する必要があります。

2) return ステートメントは複数存在する可能性があり、関数本体のどこにでも出現できますが、関数が呼び出されるたびに実行できる return ステートメントは 1 つだけであるため、戻り値は 1 つだけです (いくつかのプログラミング言語は複数の戻り値をサポートしています (Go 言語など)。例:

//返回两个整数中较大的一个
int max(int a, int b){
    if(a > b){
        return a;
    }else{
        return b;
    }
}
ログイン後にコピー

a>b が true の場合、return a が実行され、return b は実行されません。true でない場合、return b が実行され、return a は実行されません。 。

3) 関数が return ステートメントに遭遇すると、すぐに戻り、後続のステートメントはすべて実行されません。この観点から、return文には関数の実行を強制的に終了する機能も備わっています。例:

//返回两个整数中较大的一个
int max(int a, int b){
    return (a>b) ? a : b;
    printf("Function is performed\n");
}
ログイン後にコピー

コードの 4 行目は冗長であり、実行される可能性はありません。

以下では素数を決定する関数を定義します。この例はより実用的です:

#include <stdio.h>
int prime(int n){
    int is_prime = 1, i;
    //n一旦小于0就不符合条件,就没必要执行后面的代码了,所以提前结束函数
    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() は素数を見つけるために使用される関数です。素数は自然数であり、その値は0以上ですが、prime()に渡した値が0未満になると意味がなくなり、素数かどうか判断できなくなります。パラメータ n の値が 0 未満であることが検出された場合は、return ステートメントを使用して関数を早期に終了します。

return ステートメントは、関数を早期に終了する唯一の方法です。 return の後にはデータが続き、そのデータが関数の外で返されることを示すこともできます。また、return の後にデータが続かず、何も返されず、関数を終了するためにのみ使用されることを示すこともできます。

return の後にデータが続かないように上記のコードを変更します。

#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后面不带任何数据
    }
    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 の後にデータを続けることはできません。セミコロンを記述するだけです。 。

推奨チュートリアル: 「C ビデオ チュートリアル

以上がC言語でのreturnの使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!