코딩일기/자격증
[정보처리기사] [ C ] 지역변수와 함수 호출 | 정보처리기사 실기 기출문제
jhy_2023
2025. 1. 22. 13:00
728x90
반응형
2021년 2회 정보처리기사 실기 기출문제
문제
다음 C프로그램의 실행결과를 쓰시오.
#include <stdio.h>
int fp(int base, int exp) {
int result = 1;
for(int i = 0; i < exp; i++) {
result = result * base;
}
return result;
}
int main() {
int result;
result = fp(2, 10);
printf("%d", result);
return 0;
}
정답
1024
반응형
📌 main 함수
int result;
result = fp(2, 10);
printf("%d", result);
- result는 fp 함수의 반환값을 저장합니다.
- fp(2, 10)을 호출하며, 인수 base = 2와 exp = 10을 전달합니다.
📌 fp 함수
int fp(int base, int exp) {
int result = 1;
for(int i = 0; i < exp; i++) {
result = result * base;
}
return result;
}
- result는 1로 초기화됩니다.
- for 반복문은 i = 0부터 i = exp - 1까지 반복되며, 각 반복마다 result에 base 값을 곱합니다. 즉, result = result * base;로 계속해서 계산됩니다. 마지막으로 result는 1024가 되고, 이를 반환합니다.
- 첫 번째 반복 (i = 0): result = 1 * 2 = 2
- 두 번째 반복 (i = 1): result = 2 * 2 = 4
- 세 번째 반복 (i = 2): result = 4 * 2 = 8
- 네 번째 반복 (i = 3): result = 8 * 2 = 16
- 다섯 번째 반복 (i = 4): result = 16 * 2 = 32
- 여섯 번째 반복 (i = 5): result = 32 * 2 = 64
- 일곱 번째 반복 (i = 6): result = 64 * 2 = 128
- 여덟 번째 반복 (i = 7): result = 128 * 2 = 256
- 아홉 번째 반복 (i = 8): result = 256 * 2 = 512
- 열 번째 반복 (i = 9): result = 512 * 2 = 1024
728x90
📌 main 함수 출력
printf("%d", result);
- fp(2, 10)의 반환값인 1024가 result에 저장되며, printf를 통해 화면에 1024가 출력됩니다.
🔎 지역변수
fp 함수에서 result는 지역변수로 선언됩니다. 이는 fp 함수가 실행될 때만 존재하며, 함수가 끝나면 메모리에서 제거됩니다. 지역변수는 함수 외부에서 접근할 수 없고, 해당 함수 내에서만 사용됩니다. fp 함수의 result 변수는 계산이 완료되면 값을 반환합니다.
main 함수에서 선언된 result는 지역변수로, main 함수가 실행되는 동안만 존재합니다. result = fp(2, 10)을 통해 fp 함수의 반환값을 저장하고, printf를 통해 이를 출력합니다. main 함수가 끝나면 result는 메모리에서 사라집니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90
반응형