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