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

烟雨青岚
リリース: 2020-07-03 11:10:45
オリジナル
5190 人が閲覧しました

「return」は、関数呼び出し後に関数本体内のコードを実行して得られた結果を返すために使用されます。 「return」ステートメントの一般的な形式は次のとおりです: 「return 式;」; 「return」ステートメントは複数存在できますが、関数が呼び出されるたびに実行できる「return」ステートメントは 1 つだけです。つまり、「return」ステートメントは 1 つだけです。戻り値。

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");
}
ログイン後にコピー

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

#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

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 学習者の迅速な成長を支援します!