関数から自分自身を呼出す(再帰的呼出し)ことができます.
以下の例では,階乗の計算を再帰的呼出しによって定義しています.
n! = 1, n = 1 のとき = n * (n - 1)!, n > 1 のとき
#include <stdio.h>
int fact(int n)
{
if (n <= 1) return 1;
return n * fact(n - 1);
}
void main()
{
printf(" 5! = %d¥n", fact(5));
printf("10! = %d¥n", fact(10));
}
5! = 120 10! = 3628800