中易网

C递归效率低和容易溢出 不提倡用递归.溢出不理解啊?到多大就会溢出啊?

答案:2  悬赏:40  
解决时间 2021-04-10 04:29
C递归效率低和容易溢出 不提倡用递归.溢出不理解啊?到多大就会溢出啊?
最佳答案
是的,不建议用递归,因为你无法限制使用人的输入。递归容易产生堆栈溢出。
溢出的意思就是越界,操作系统会给每个进程分配一个最大上限的堆栈空间,如果超过了这个内存空间大小程序就会coredump,就像你使用int *pi = new int[100000000];会崩溃一样,因为这里堆溢出了。
操作系统分配给一个进程的栈空间是2M,堆空间在32位机器上是4G。如果你的进程的栈空间使用超过了2M就会栈溢出,堆使用超过4G就会堆溢出。
那么递归为什么会导致栈溢出呢?相信楼主知道栈的出入规则,先入后出,递归的话那么先入的一致不能出栈,会一致存在栈空间中,这样就容易导致栈满而溢出。
哈哈,还有不懂不?
全部回答
递归一般都带有某些跳出条件的,出现溢出什么的就是没考虑周全。递归能让你少写很多重复语句。。。。是不错的手段。用还是不用,不必强求。取其精华去其糟粕。 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
伊卡冰时尚冷饮休闲吧地址在什么地方,想过去
制作excel表格时,缩放后预览部分边框消失?
进线是接在上面3p上 请问连接到电动机的三根
怎么提高小学一年级小孩的数学成绩啊
不会吧,你谈恋爱了怎么回答
广州有实况足球爱好者的聚集地吗
快乐番薯林后店在哪里啊,我有事要去这个地方
有C1驾照可以办农机驾照吗?
市文化出版局综合办公楼这个地址在什么地方,
果农要将600千克的葡萄装进纸箱运走,每个纸箱
女生怎样变得安静
牡丹江同志?
狗狗前腿总是发抖...
新丝袜要洗吗 新买的丝袜需要洗吗 丝袜靓腿
斯威X7,值不值得购买?新品牌有点不敢下手
推荐资讯
南河新城(东北门)在哪里啊,我有事要去这个地
西游记那集被有大象精鹰精和狮子精吃了
先天八字命运不好后天如何改变
求助success surprise的各种形式...
跪求~装载机徐工50G/500K/500F/柳工50C/855/
春秋四大战役是啥?(急)
如何解决小米盒子出现icntv认证已失效?
一心堂药店弥勒人民路连锁店在什么地方啊,我
我的电脑关机后就显示WINDOWS未正常关闭然后
生产者和分解者对自然界的什么起重要作用?
第5题怎么分析,我看答案说,沿AD轨迹运动,
铁路家电维修我想知道这个在什么地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?