다음을 통해 공유


if 문(C)

이 문은 if 조건부 분기를 제어합니다. 식의 if 값이 0이 아닌 경우 문의 본문이 실행됩니다. 문의 구문에는 두 가지 형식이 if 있습니다.

문법

selection-statement:
if ( expression ) statement
if ( expression ) statement else statement

명령문의 if 두 형태에서 구조체를 제외한 모든 값을 가질 수 있는 식은 모든 부작용을 포함하여 평가됩니다.

구문의 첫 번째 형식에서 true(0이 아닌 경우 expression ) statement 가 실행됩니다. false statement 이면 expression 무시됩니다. 사용하는 else두 번째 구문 형식에서는 false이면 expression 두 번째 statement 구문이 실행됩니다. 두 폼을 모두 사용하는 경우 컨트롤은 문 중 하나에 다음 명령문이 goto포함되어 있지 않으면 해당 명령문에서 if 프로그램의 다음 문으로 breakcontinue전달됩니다.

다음은 문의 예입니다 if .

if ( i > 0 )
    y = x / i;
else
{
    x = i;
    y = f( x );
}

이 예제에서는 문이 y = x/i; 0보다 큰 경우 i 실행됩니다. 0보다 작거나 같으면 i 할당되고 x할당 f( x ) 됩니다y. i 절을 if 형성하는 문은 세미콜론으로 끝납니다.

문 및 else 절을 중첩할 if 때 중괄호를 사용하여 문과 절을 의도를 명확히 하는 복합 문으로 그룹화합니다. 중괄호가 없으면 컴파일러는 각각 else 이 부족한 가장 if 가까운 항목과 연결하여 모호성을 해결합니다 else.

if ( i > 0 )           /* Without braces */
    if ( j > i )
        x = j;
    else
        x = i;

절은 이 else 예제의 내부 if 문과 연결됩니다. 0보다 작거나 같으면 i 값이 할당되지 x않습니다.

if ( i > 0 )
{                      /* With braces */
    if ( j > i )
        x = j;
}
else
    x = i;

이 예제의 내부 if 문을 둘러싼 중괄호는 절을 else 외부 if 문의 일부로 만듭니다. 0 i 보다 작거나 같은 경우 i 에 할당됩니다x.

참고하십시오

if-else 문(C++)