0
次の再帰関数のコードは、無限大になる整数(正と負の両方)の出力を与えます。最終的にスタックオーバーフローにつながるでしょうか?そうでなければ、コンピュータはどのようにして最終的にクラッシュするでしょう(f)
のスタックオーバーフローが発生しますか?
(define(f)
(let loop ((i 0))
(printf "~a, ~a, " i (- -1 i))
(loop (add1 i))))
出力:
0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5, -6, 6, -7, 7, -8, 8, -9, 9, -10, 10, -11, 11, -12, 12, -13, 13, -14, 14, -15, 15, -16, 16, -17, 17, -18, 18, -19, 19, -20, 20, -21, 21, -22, 22, -23, 23, -24, 24, -25, 25, -26, 26, -27, 27, ....
明確かつ十分に説明された回答をありがとう。 – rnso