프로그래밍 언어/C

C언어 16강 순환 함수(재귀함수)

happy_life 2020. 11. 3. 21:55

●순환 함수(재귀 함수)

 :자기 자신의 함수를 스스로 다시 호출하는 함수

 

●장점

1) 프로그램이 더 간결해진다.

2) 일정한 규칙을 갖고 반복적으로 처리되는 작업에 순환 함수를 사용할 경우 더 쉽게 표현할 수 있다.

 

●순환 함수 코드 예제

#include <stdio.h>

int factorial(int n)
{
	if (n == 1)  //n 이 1 일때
		return 1; //1반환 하고 함수 끝내기

	return n * factorial(n - 1); //n이 1이 아닐때 factorial에 n-1넣은 함수 X n 을 반환
}

int main() {
	int num, result;

	printf("\n 팩토리얼을 구할 정수를 입력하세요: ");
	scanf_s("%d", &num);
	result = factorial(num);
	printf(" 팩토리얼 값: %d ", result);

	return 0;

}

결괏값

factorial(6) = 6 * factorial(5)

              = 6 * 5 * factorial(4)

                  ```

              = 6 * 5 * 4 * 3 * 2 * 1