• ベストアンサー

関数の再帰とは??[C言語]

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

質問者が選んだベストアンサー

  • ベストアンサー
  • 1839cc
  • ベストアンサー率54% (12/22)
回答No.2

以下のサンプルのように、関数内部から自分自身を呼ぶことです。 void func() {   func(); } この関数は実際の仕事は何もしていないので存在価値がありませんし、 関数コールが無限に続く構造ですので、すぐにリソースを食い尽くして異常終了してしまうでしょう。 何かしら仕事をさせるなら、例えば以下のような関数になります。 引数で指定した値までの正の整数を昇順に表示する関数です。 再帰呼び出しを行う前に表示するよう変更すれば、表示は降順になります。 void func(int i) {   if (i > 0) {     func(i-1); /* 再帰呼び出し */     printf("%d, ", i);   } }

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

自分自身を呼び出す事です。 http://www.aoharu-b.com/cgi/sk/2007/02/c_1.html

関連するQ&A