首页 > 代码库 > 递归的隐含限制——处理对象小的可以、大的不可以
递归的隐含限制——处理对象小的可以、大的不可以
最近自己编写了一个求n阶行列式的值的C程序,编译成功,并且使用了一个3阶行列式进行了测试,测试也成功了。以为这样就万事大吉了,可是后来在实际应用中调用该函数时却导致程序无法运行。注意到,实际应用中要求的行列式是24阶的,也就是说当阶数超过一定范围时程序就不能正确运行了。苦苦思索之后,反复验证之后,问题根源确定在了“递归”上。虽然C语言本身对于递归的次数是没有限制的,但是,函数递归是依赖于栈实现的,所以函数递归受栈空间的限制,如果递归次数太多,可能会导致栈溢出,后果不可预知!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。