모두CBT

24-2아래 C 프로그램이 출력하는 정수를 적으시오.#include &… | 2024년 정보처리기사실기 2회차 기출문제 상세 페이지

11

24-2

아래 C 프로그램이 출력하는 정수를 적으시오.

#include <stdio.h>

void exchange(int x, int y) {
    int keep = x;
    x = y;
    y = keep;
}

int main(void) {
    int x = 4, y = 9;
    exchange(x, y);
    switch (y) {
    case 4:
        x += 10;
    case 9:
        x *= 3;
    case 12:
        x -= 2;
        break;
    default:
        x = 0;
    }
    printf("%d", x + y);
    return 0;
}
해설

19


[해설]

exchange는 값을 복사받아(값에 의한 호출) 자기 지역 변수만 바꾸므로 main의 x, y는 4, 9 그대로다.

  • switch(y)에서 y = 9 → case 9로 진입, x = 4 × 3 = 12
  • break가 없어 case 12로 이어짐(fall-through), x = 12 − 2 = 10
  • break를 만나 default는 실행하지 않음

x + y = 10 + 9 = 19다.

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