정보처리기능사 실기 시험 기출 문제 - 재귀 함수를 이용한 역순 출력
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: recursive_reverse_output.c
#include <stdio.h>
void hrd(int num) {
if (num <= 0)
return;
printf("%d ", num);
hrd(num - 1);
}
int main() {
hrd(5);
return 0;
}
입력 예시
이 프로그램은 입력을 받지 않습니다.
출력 예시
5 4 3 2 1
해설
이 프로그램은 재귀 함수를 사용하여 주어진 숫자부터 1까지의 숫자를 역순으로 출력합니다.
void hrd(int num);
함수는 정수num
을 인자로 받아, 이 값을 0보다 큰 동안 출력한 후num - 1
로 자기 자신을 재귀적으로 호출합니다. 이 과정은num
이 0 이하가 될 때까지 반복됩니다.main()
함수에서hrd(5);
를 호출하면,hrd
함수는 5부터 시작하여 1까지의 숫자를 역순으로 출력합니다.- 출력 결과는
5 4 3 2 1
입니다. 각 숫자는 공백으로 구분되어 있으며, 가장 큰 숫자부터 시작하여 1까지 감소하는 순서로 출력됩니다.
이 프로그램은 재귀 함수의 기본 원리와 사용 방법을 이해하는 데 도움이 되며, 재귀적 접근을 통해 반복되는 작업을 간결하게 표현하는 방법을 보여줍니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!