C语言 递归问题
结果等于27,这个递归是怎么运算的,我怎么琢磨不出来呢?我有如下一种设想:一:6-2=4,3*4=12,然后4-2=2,3*2=6,最后2-2=0,然后返回1*3=3这之...
结果等于27,这个递归是怎么运算的,我怎么琢磨不出来呢?我有如下一种设想:一:6-2=4 ,3*4=12,然后4-2=2,3*2=6,最后2-2=0,然后返回1*3=3这之中12+6+3=21!!!为什么会等于27啊 怎么递出来的啊,求大神给我讲明白举个栗子或者将这个道题,给高分!谢谢!
展开
1个回答
展开全部
fn(6)=3*fn(4)=3*(3*fn(2))=3*(3*(3*fn(0)))=3*(3*(3*(1)))=27
追问
这意思是里面的数值根本和那个3无关对吗?他自调用也就是递归了几次那个3就*自身几次?
那如果传入两个值呢?可以再举个栗子吗?谢谢
追答
在这个函数中,就是“他自调用也就是递归了几次那个3就*自身几次”。每次它return的值,就去替代那个fn(XX)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询