【发布时间】:2013-09-01 10:11:09
【问题描述】:
我有以下递归方法。我得到一个错误堆栈溢出。它停在-9352。我的问题,堆栈溢出与无限循环相同吗?因为这将继续调用自己。
但是,如果我使用 while、until、do 等进行无限循环,它不会给我同样的堆栈溢出错误。它会一直运行,直到我的系统内存不足。
这是使用 Ruby
def recursion(n)
print n
recursion(n-1)
end
recursion(3)
输出:
3
2
1
0
.
.
.
-9352 stack overflow stops
【问题讨论】:
-
请写下您使用的编程语言。
标签: loops recursion while-loop