#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 サイトの他の関連記事を参照してください。