図の f(x) はよく例に出される xの階乗を計算する関数ですが、fの中で分岐があり、
(a) x==1 の場合 1 を返す、
(b) そうでなければ x * f(x-1) を返す
ということで、(b)の場合自分自身を呼び出しています。
これを再帰なしで書くとその下の f1() f2() f3() のように展開できます。
ここで問題なのが f() の中のローカル変数 i です。
このローカル変数 i は、f() の呼び出しごとに別ものになります。
何を言ってるかわからないと思いますが、再帰無しで書いた f1 f2 f3 のそれぞれのローカル変数 i がそれぞれ別ものであるのと全く同じように、f(3) の時の i と f(2) の時の i と f(1) の時の i は別ものになるのです。
0そうだね プレイ済み