19.2 if, else if, else를 모두 사용하기

else ifelse와 함께 사용할 수 있습니다.

if (조건식)
{
    코드1
}
else if (조건식)
{
    코드2
}
else
{
    코드3
}

다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.

if_elseif_else.c

#include <stdio.h>

int main()
{
    int num1 = 30;

    if (num1 == 10)        // num1이 10일 때
        printf("10입니다.\n");
    else if (num1 == 20)   // num1이 20일 때
        printf("20입니다.\n");
    else                   // 앞의 조건식에 모두 만족하지 않을 때
        printf("10도 20도 아닙니다.\n");

    return 0;
}

실행 결과

10도 20도 아닙니다.

이렇게 하면 if, else if의 조건식이 모두 거짓일 때만 else의 코드가 실행됩니다. 여기서는 num130이라 if, else if의 조건식에 모두 만족하지 않습니다. 따라서 마지막 else"10도 20도 아닙니다."가 출력됩니다.

ifelse는 한 번만 사용할 수 있지만, else if는 여러 번 사용할 수 있습니다.

else if 앞에 else가 오면 컴파일 에러가 발생하므로 주의해야 합니다.

if (num1 == 10)
    printf("10입니다.\n");
else
    printf("10도 20도 아닙니다.\n");
else if (num1 == 20)    // else if 앞에 else가 오면 컴파일 에러 발생
    printf("20입니다.\n");

컴파일 결과

if_elseif_else.c(11): error C2181: if와 짝을 이루지 않는 잘못된 else문입니다.