VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1023|回复: 3

子程序的递归

[复制链接]

2

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-16 23:00:01 | 显示全部楼层 |阅读模式
子程序调用递归时要不要考虑堆栈的大小呀。如
power(x,n)
如果N=10,那么就有20个参数入堆栈,如果N=1000,或是更多,岂不是堆栈要爆炸呀!
回复

使用道具 举报

2

主题

18

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-4-19 21:30:01 | 显示全部楼层
要考虑堆栈的大小,堆栈过小就会溢出。
回复

使用道具 举报

0

主题

23

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-4-27 21:45:01 | 显示全部楼层
不仅仅是要考虑参数, 还有子程的返回地址也是要占用堆栈的. 另外, 子程中可能有局部变量也会占用堆栈. 所以, 有时就采用非递归方法了
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-27 22:30:01 | 显示全部楼层
或者可以用如scheme等函数式语言,一般不必考虑堆栈溢出
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表