#include<stdio.h>
int my_func(int n);
int main()
{
int n = 5;
printf("%d\n", my_func(n));
return 0;
}
int my_func(int n) {
if (n > 0) {
return n * my_func(n - 1);
}
else
return 1;
}
재귀호출(recursion) : 함수안에서 자기 스스로를 다시 호출하는 방식
tail(end) recursion : return 뒤에 자기를 호출하는 방식
위 예제는 int n 에서 받아온 정수의 팩토리얼값을 계산하는 예제이다.
처음에는 5 X 4!
그다음에는 5 X (4 X 3!)
이런식으로 재귀호출을 이용하여 팩토리얼을 구해보는 예제이다.