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