首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

今天讲递归, 老师出了一题, 如下, 望高人指点!解决方法

2012-04-21 
今天讲递归, 老师出了一题, 如下, 望高人指点!!!C/C++ codeint main(){return main()}最终是不是栈空间耗

今天讲递归, 老师出了一题, 如下, 望高人指点!!!

C/C++ code
int main(){    return main();}


最终是不是栈空间耗尽才自动退出的?

[解决办法]
要不就是 栈溢出,要不就是 堆溢出,要不就是无限循环。
只有这3个情况。
如果main体过大,那坑定是堆先溢出。

你上面的情况,栈溢出几率会高很多。毕竟main中只有2条语句。

什么“尾递归优化”,实际上就是,扩大栈。使溢出情况迟点罢了。
要不就是栈底被抛弃,栈顶新压入得函数地址成为新栈底,与此同时旧栈底对应的堆空间也随之释放。这就成了无限循环。

热点排行