모두CBT

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

19

24-3

아래 C 프로그램이 출력하는 값을 적으시오.

#include <stdio.h>

int bump(void) {
    static int cnt = 1;
    cnt *= 2;
    return cnt;
}

int main(void) {
    int cnt = 10;
    int total = 0;
    for (int k = 0; k < 3; k++) {
        cnt--;
        total += bump() + cnt;
    }
    printf("%d", total);
    return 0;
}
해설

38


[해설]

bump 안의 cnt는 static 지역 변수라 처음 한 번만 1로 초기화되고, 호출이 끝나도 값이 유지된다.

main의 cnt는 이름만 같은 별개의 지역 변수로, 10에서 시작해 반복마다 1씩 줄어든다.

  • k=0: bump()=2, main의 cnt=9 → total=11
  • k=1: bump()=4, cnt=8 → total=23
  • k=2: bump()=8, cnt=7 → total=38

최종 출력은 38이다.

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