首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么一个永远的循环不会崩溃?为什么无限递归崩溃?

为什么一个永远的循环不会崩溃?为什么无限递归崩溃?
EN

Stack Overflow用户
提问于 2022-05-08 16:24:00
回答 1查看 97关注 0票数 2

我的问题是:为什么无限递归崩溃,而不是无限循环?他们都感觉像正常的永久迭代器,但一个崩溃,而另一个没有。我正在寻找硬件/低级别的响应。在用Python对木星进行实验时,我通常会遇到堆栈溢出错误。此外,当我指的是低级响应时,我指的是计算机硬件(RAM,CPU)中所发生的导致无限递归崩溃的情况,而不是无限迭代。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-08 16:28:24

由于无限递归不断地将递归调用存储在堆栈中(这是应用程序保存的内存之一),所以它最终将完全填充堆栈,因此您将得到典型的堆栈溢出错误。

在无限循环中,您不存储任何东西,并且经常只更新变量和类似的东西,这样的变量不会占用比这些变量更多的内存,所以什么都不会中断。但是,如果在循环中添加内存中的内容,比如向循环中的列表添加元素,则可能会出现无限循环中断。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72163003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档