C언어) 재귀함수

반응형

C언어) 재귀함수

재귀함수

 

함수를 정의할 때 함수가 자기 자신을 호출하여 사용할 수도 있는데 이를 재귀함수라고 한다.

이는 반복문과 같은 역할을 하지만 일반 반복문에 비해 속도도 매우 느리고,

대부분의 재귀함수는 반복문으로도 충분히 작성할 수 있기 때문에 개념적으로만 알아두자.

 

다음은 재귀함수를 통해 팩토리얼을 계산하는 예제이다.

#include<stdio.h>

int factorial(int n)
{
	if (n == 0)
	{
		return 1;
	}

	else
		// 함수 내에서 자기 자신인 함수를 호출하여 사용한다.
		return n * factorial(n - 1);
}

int main()
{
	int n;
	printf("0이상의 정수 입력 : ");
	scanf("%d", &n);
	// (입력예시) 5
	printf("%d! = %d", n, factorial(n));
	// (출력예시) 5! = 120
	return 0;
}
반응형

'C language' 카테고리의 다른 글

C언어) 배열  (0) 2023.06.27
C언어) 함수 사용  (0) 2023.06.24
C언어) 함수에 대하여 & 함수 정의 방법  (0) 2023.06.23
C언어) 포인터의 이해  (0) 2023.06.21
C언어) 논리 연산  (0) 2023.06.07