今天讲递归, 老师出了一题, 如下, 望高人指点!解决方法
今天讲递归, 老师出了一题, 如下, 望高人指点!!!C/C++ codeint main(){return main()}最终是不是栈空间耗
今天讲递归, 老师出了一题, 如下, 望高人指点!!!
C/C++ codeint main(){ return main();}
最终是不是栈空间耗尽才自动退出的?
[解决办法]要不就是 栈溢出,要不就是 堆溢出,要不就是无限循环。
只有这3个情况。
如果main体过大,那坑定是堆先溢出。
你上面的情况,栈溢出几率会高很多。毕竟main中只有2条语句。
什么“尾递归优化”,实际上就是,扩大栈。使溢出情况迟点罢了。
要不就是栈底被抛弃,栈顶新压入得函数地址成为新栈底,与此同时旧栈底对应的堆空间也随之释放。这就成了无限循环。