return(C)

  • 06/10/2020
  • 4 분 읽
    • c
    • n
    • M
    • g

return문 끝의 실행 기능 제어를 반환합니다 함수 호출. 호출 바로 다음 지점에서 호출 함수에서 실행이 다시 시작됩니다. Areturn문은 호출 함수에 값을 반환 할 수 있습니다. 자세한 내용은 반환 유형을 참조하십시오.

Syntax

점프-성명:
returnexpressionopt;

가치의 표현이 있는 경우에 반환되는 호출하는 기능입니다. 표현식이 생략되면 함수의 반환 값은 정의되지 않습니다. 표현식이 있으면 평가 된 다음 함수에 의해 반환 된 유형으로 변환됩니다. 면returnvoid반품 유형,컴파일러에서 생성 경고 및 식이 평가되지 않습니다.

없는 경우returnvoidvoidreturn문을 사용하여 의도를 분명히하십시오.

좋은 엔지니어링 연습으로 항상 함수에 대한 반환 유형을 지정하십시오. 반환 값이 필요하지 않은 경우void반환 유형을 갖도록 함수를 선언하십시오. 반환 유형이 지정되지 않은 경우 C 컴파일러는int의 기본 반환 유형을 가정합니다.

많은 프로그래머는 괄호를 사용하여return문의 표현식 인수를 묶습니다. 그러나 c 는 괄호를 필요로하지 않습니다.

컴파일러는 경고가 표시될 수 있습의 진단에 대한 메시지를 연결할 수 없는 경우에는 해당 코드를 발견된 모든 문한 후return문입니다.

amainreturn문과 표현식은 선택 사항입니다. 반환 된 값에 어떤 일이 발생하는지,하나가 지정되면 구현에 따라 다릅니다. Microsoft 특정:Microsoft C 구현은cmd.exereturn표현식이 제공되지 않으면 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 longint값 없이는 오버플로우가 발생합니다.

주위에 괄호를returnsquarereturn문입니다.

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;}

ratiointdoublereturndouble. 그렇지 않으면 정수 나누기 연산자가 사용되며 분수 부분이 손실됩니다.

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_squaresquareINT_MAXintlong longsquaredreport_squarevoidreturn문입니다.

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_ratioratio1INT_MAXdoublefractionreport_ratiovoidreport_ratio“의 실행은 맨 아래에서 떨어지며 호출자에게 아무런 값도 반환하지 않습니다.

int main(){ int n = 1; int x = INT_MAX; report_square(); report_ratio( n, x ); return 0;}

mainreport_squarereport_ratioreport_squarevoidreport_ratiovoidmain0(일반적으로 보고하는 데 사용됩공)프로그램을 종료합니다.

예제를 컴파일하려면C_return_statement.c라는 소스 코드 파일을 만듭니다. 그런 다음 표시된 순서대로 모든 예제 코드를 복사하십시오. 파일을 저장하고 그것을 컴파일 개발자의 명령 프롬프트를 사용하여 명령:

cl /W4 C_return_statement.c

,다음 예제를 실행하는 코드를 입력C_return_statement.exe명령 프롬프트에서. 예제의 출력은 다음과 같습니다.

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다