코딩일기/자격증

[정보처리기사] [ 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
반응형