
你好,请问下,c语言用递归求n!,为什么会溢出啊,要怎么避免,是不是用递归就会有溢出呢?谢谢哈
6个回答
展开全部
数据的溢出顶多丢失高字节,不会报溢出。
但是如果你n过大,导致低柜调用堆栈过深有可能。
不推荐递归就是因为递归操作是深度的函数调用,堆栈操作太多,浪费时间空间,不如循环来的实在。
但是如果你n过大,导致低柜调用堆栈过深有可能。
不推荐递归就是因为递归操作是深度的函数调用,堆栈操作太多,浪费时间空间,不如循环来的实在。
展开全部
虽然递归比较耗内存,但不关递归的事,n!当n的值比较大时,n!会很大,没有哪种变量可以储存它的结果,所以要用到数组来保存它的结果,这涉及到高精度算法,建议你看一下这方面的资料。有需要再找我。
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-04
展开全部
溢出与递归没有关系。当n较大时,n!是一个很大的数,可能超过存储单元的表示范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为获取的信息或存入栈中,如果太大的递归的话,会栈溢出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会啊,肯定是你那个参数没弄好,或者变量类型定义不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询