你好,请问下,c语言用递归求n!,为什么会溢出啊,要怎么避免,是不是用递归就会有溢出呢?谢谢哈

 我来答
ceofit
2011-08-05 · TA获得超过188个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:169万
展开全部
数据的溢出顶多丢失高字节,不会报溢出。
但是如果你n过大,导致低柜调用堆栈过深有可能。
不推荐递归就是因为递归操作是深度的函数调用,堆栈操作太多,浪费时间空间,不如循环来的实在。
mdoom
2011-08-04 · TA获得超过2925个赞
知道大有可为答主
回答量:1370
采纳率:0%
帮助的人:748万
展开全部
虽然递归比较耗内存,但不关递归的事,n!当n的值比较大时,n!会很大,没有哪种变量可以储存它的结果,所以要用到数组来保存它的结果,这涉及到高精度算法,建议你看一下这方面的资料。有需要再找我。
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-04
展开全部
溢出与递归没有关系。当n较大时,n!是一个很大的数,可能超过存储单元的表示范围。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风动破7728
2011-08-04 · TA获得超过1486个赞
知道答主
回答量:131
采纳率:0%
帮助的人:102万
展开全部
因为获取的信息或存入栈中,如果太大的递归的话,会栈溢出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6cbe0195a
2011-08-04
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
不会啊,肯定是你那个参数没弄好,或者变量类型定义不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式