電子書籍の厳選無料作品が豊富!

関数の再帰とは何ですか??
教えてください。

A 回答 (2件)

以下のサンプルのように、関数内部から自分自身を呼ぶことです。



void func() {
  func();
}

この関数は実際の仕事は何もしていないので存在価値がありませんし、
関数コールが無限に続く構造ですので、すぐにリソースを食い尽くして異常終了してしまうでしょう。

何かしら仕事をさせるなら、例えば以下のような関数になります。
引数で指定した値までの正の整数を昇順に表示する関数です。
再帰呼び出しを行う前に表示するよう変更すれば、表示は降順になります。

void func(int i) {
  if (i > 0) {
    func(i-1); /* 再帰呼び出し */
    printf("%d, ", i);
  }
}
    • good
    • 0

自分自身を呼び出す事です。



http://www.aoharu-b.com/cgi/sk/2007/02/c_1.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!