19.1 else if 사용하기

else ifelse인 상태에서 조건식을 지정할 때 사용합니다. 단, else if는 단독으로 사용할 수 없습니다.

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

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

if_elseif.c

#include <stdio.h>

int main()
{
    int num1 = 20;

    if (num1 == 10)
        printf("10입니다.\n");
    else if (num1 == 20)    // else인 상태에서 조건식 지정
        printf("20입니다.\n");

    return 0;
}

실행 결과

20입니다.

이렇게 하면 처음 if에서 num110인지 검사한 뒤 참이면 "10입니다."를 출력하고, 거짓이면 그다음에 오는 else if에서 num120인지 검사합니다. 만약 else if의 조건식이 참이면 "20입니다."를 출력하고, 거짓이면 아무것도 출력하지 않습니다.

여기서는 num120이라 else if의 조건식에 만족하므로 "20입니다"가 출력됩니다.

만약 else if에 조건식을 지정하지 않으면 컴파일 에러가 발생하므로 주의해야 합니다.

if (num1 == 10)
    printf("10입니다.\n");
else if    // else if에 조건식을 지정하지 않으면 컴파일 에러 발생
    printf("20입니다.\n");

컴파일 결과

if_elseif.c(10): error C2061: 구문 오류: 식별자 'printf'

if, else와 마찬가지로 else if도 끝에 세미콜론을 붙이면 안 됩니다.