地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

再帰関数とは

再帰関数とは、関数の中からその関数自身を呼び出すような処理を行う関数のこと

簡単に言えば自分で自分を呼び出すことです

#include <stdio.h>

int fact(int n)
{
  int m;

  if (n == 0)
    return 1;    // 0! = 1
  /* 以下、n が 0 でないとき */
  m = fact(n - 1); \
  return n * m;       // n! = n * m
}

int main()
{
  int i, ans;

  scanf("%d", &i);
  ans = fact(i);
  printf("%dの階乗は%d.\n", i, ans);
  return 0;
}