모두CBT

23-2다음 C 프로그램을 실행했을 때 출력되는 내용을 적으시오.#in… | 2023년 정보처리기사실기 2회차 기출문제 상세 페이지

8

23-2

다음 C 프로그램을 실행했을 때 출력되는 내용을 적으시오.

#include <stdio.h>

int main(void) {
    int s[4] = {68, 91, 77, 84};
    int j, total = 0;

    for (j = 0; j < 4; j++)
        total += s[j];

    switch (total / 40) {
    case 10:
    case 9:
        printf("P");
    case 8:
    case 7:
        printf("Q");
    case 6:
        printf("R");
        break;
    default:
        printf("S");
    }
    return 0;
}
해설

QR


[해설]

네 점수의 합은 68+91+77+84=320이고, 320/40=8이므로 case 8부터 실행이 시작된다.

case 8에는 문장이 없어 아래 case 7로 그대로 내려가 "Q"를 찍는다. break가 없으니 case 6의 "R"까지 이어서 실행한 뒤 break에서 멈춘다.

따라서 출력은 QR이다. break를 만날 때까지 다음 case로 계속 흘러가는 폴스루(fall-through)가 이 문제의 핵심이다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.