• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:非末尾再帰について)

非末尾再帰について

このQ&Aのポイント
  • 非末尾再帰を理解しようとすごく簡単なプログラムを書いてみました。
  • プログラムの動作についての詳細な説明が必要です。
  • 特にCCC0、CCC1、CCC2となる理由が分からないので教えてください。

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

  • ベストアンサー
  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

よくわからないときは、関数の中身を展開して考えましょう。 下記は、インデントが崩れてますが、エディタなどにコピーして確認してください。 関数の呼び出しが完了すると、呼び元に戻ります。 指でなぞりながら処理の流れを追うとわかると思います。 main()  n=3  rec(3)    AAA3    BBB2    rec(2)------rec(2)    CCC2    AAA2          BBB1          rec(1)--------rec(1)          CCC1     AAA1                 BBB0                 rec(0)--------rec(0)                 CCC0     AAA0                        CCC0

myusnow
質問者

お礼

ありがとうございます。 図で示されていると明確で非常に分かりやすかったです。

関連するQ&A