C 함수 재귀호출 - sonkoni/Koni-Wiki GitHub Wiki
#include <stdio.h>
void hello(int count) {
if (!count) {
return;
}
printf("Hello(%d)\n", count);
hello(--count);
}
int main(int argc, char *argv[]) {
hello(5);
return 0;
}
// Hello(5)
// Hello(4)
// Hello(3)
// Hello(2)
// Hello(1)팩토리얼(n!)는 1부터 n까지 숫자를 차례로 곱한 값이다.
#include <stdio.h>
// 계산 결과가 바로 더해지는 것이 아니라.
// n 이 1이 되었을 때 스택으로 올라간 함수가 하나씩 소멸하며 최종적으로 합산되는 것이다.
int fatorial(int n) {
if (n == 1) {
return 1;
}
return n * fatorial(n - 1);
}
int main(int argc, char *argv[]) {
printf("=> %d\n", fatorial(5));
return 0;
}
// => 120