8
末尾再帰はどの程度正確に機能しますか?
末尾再帰がどのように機能するか、および通常の再帰との違いをほぼ理解しています。私は唯一それが理由を理解していないしないそのリターンアドレスを覚えてスタックを必要としています。 // tail recursion int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(n - 1, acc * n); } int factorial (int n) { return fac_times (n, 1); } // normal recursion int factorial (int n) { if (n == 0) return 1; …