- 06/10/2020
- 4 분 읽
-
- c
- n
- M
- g
return
문 끝의 실행 기능 제어를 반환합니다 함수 호출. 호출 바로 다음 지점에서 호출 함수에서 실행이 다시 시작됩니다. Areturn
문은 호출 함수에 값을 반환 할 수 있습니다. 자세한 내용은 반환 유형을 참조하십시오.
Syntax
점프-성명:
return
expressionopt;
가치의 표현이 있는 경우에 반환되는 호출하는 기능입니다. 표현식이 생략되면 함수의 반환 값은 정의되지 않습니다. 표현식이 있으면 평가 된 다음 함수에 의해 반환 된 유형으로 변환됩니다. 면return
void
반품 유형,컴파일러에서 생성 경고 및 식이 평가되지 않습니다.
없는 경우return
void
void
return
문을 사용하여 의도를 분명히하십시오.
좋은 엔지니어링 연습으로 항상 함수에 대한 반환 유형을 지정하십시오. 반환 값이 필요하지 않은 경우void
반환 유형을 갖도록 함수를 선언하십시오. 반환 유형이 지정되지 않은 경우 C 컴파일러는int
의 기본 반환 유형을 가정합니다.
많은 프로그래머는 괄호를 사용하여return
문의 표현식 인수를 묶습니다. 그러나 c 는 괄호를 필요로하지 않습니다.
컴파일러는 경고가 표시될 수 있습의 진단에 대한 메시지를 연결할 수 없는 경우에는 해당 코드를 발견된 모든 문한 후return
문입니다.
amain
return
문과 표현식은 선택 사항입니다. 반환 된 값에 어떤 일이 발생하는지,하나가 지정되면 구현에 따라 다릅니다. Microsoft 특정:Microsoft C 구현은cmd.exe
return
표현식이 제공되지 않으면 Microsoft C 런타임은 성공(0)또는 실패(0 이 아닌 값)를 나타내는 값을 반환합니다.
예제
이 예제는 여러 부분에서 하나의 프로그램입니다. 그것을 보여줍return
문의 사용 방식에 모두 끝 기능,실행하고 필요에 따라 값을 반환합니다.
// C_return_statement.c// Compile using: cl /W4 C_return_statement.c#include <limits.h> // for INT_MAX#include <stdio.h> // for printflong long square( int value ){ // Cast one operand to long long to force the // expression to be evaluated as type long long. // Note that parentheses around the return expression // are allowed, but not required here. return ( value * (long long) value );}
square
기능을 하는 광장의 인수에는 넓은 종류를 방지하기 위해 연산 오류가 있습니다. Microsoft-특정:에서 Microsoft C 구현,long long
int
값 없이는 오버플로우가 발생합니다.
주위에 괄호를return
square
return
문입니다.
double ratio( int numerator, int denominator ){ // Cast one operand to double to force floating-point // division. Otherwise, integer division is used, // then the result is converted to the return type. return numerator / (double) denominator;}
ratio
int
double
return
double
. 그렇지 않으면 정수 나누기 연산자가 사용되며 분수 부분이 손실됩니다.
void report_square( void ){ int value = INT_MAX; long long squared = 0LL; squared = square( value ); printf( "value = %d, squared = %lld\n", value, squared ); return; // Use an empty expression to return void.}
report_square
square
INT_MAX
int
long long
squared
report_square
void
return
문입니다.
void report_ratio( int top, int bottom ){ double fraction = ratio( top, bottom ); printf( "%d / %d = %.16f\n", top, bottom, fraction ); // It's okay to have no return statement for functions // that have void return types.}
report_ratio
ratio
1
INT_MAX
double
fraction
report_ratio
void
report_ratio
“의 실행은 맨 아래에서 떨어지며 호출자에게 아무런 값도 반환하지 않습니다.
int main(){ int n = 1; int x = INT_MAX; report_square(); report_ratio( n, x ); return 0;}
main
report_square
report_ratio
report_square
void
report_ratio
void
main
0
(일반적으로 보고하는 데 사용됩공)프로그램을 종료합니다.
예제를 컴파일하려면C_return_statement.c
라는 소스 코드 파일을 만듭니다. 그런 다음 표시된 순서대로 모든 예제 코드를 복사하십시오. 파일을 저장하고 그것을 컴파일 개발자의 명령 프롬프트를 사용하여 명령:
cl /W4 C_return_statement.c
,다음 예제를 실행하는 코드를 입력C_return_statement.exe
명령 프롬프트에서. 예제의 출력은 다음과 같습니다.