在 Scheme 中,我将基本的“if”命令修改为:
(define (modified-if predicate then-clause else-clause)
(if predicate
then-clause
else-clause))
然后我使用 if 的修改版本定义了一个简单的阶乘生成程序:
(define (factorial n)
(modified-if (= n 0)
(* n (factorial (- n 1)))))
现在,当我调用上述函数时,它进入了一个无限循环。为什么会这样?