系统粉 > 电脑问答 > 其他问答

已解决弄不清递归函数的调用

提问者:summer南久  |  浏览次  |  提问时间:2017-03-06  |  回答数量:6

就是弄不清,问题一:一开始执行第一遍之后为什么还会在执行第二遍。我知道是有条件的,但是看不懂勒弄不清递归函数的调用(图1) 再然后就是,问题二:最后递归结束之后,它又怎么会一层又一层的反会上去呢? 在书上的例子: 一开始n就被赋值为5. int age(int n) {     int c;     if(n==1)           c=10;         else         c=age(n-1)+2;  //解释问题一:第一遍执行到这里,就会返回C。(我知道此时C什么也没有)但是为什么还会执行后几遍?            return (c); } 我是这样想的, 执行第一遍之后只所以执行第二遍 是因为“age(n-1)”,它又调用了自身。又因为“(n-1)”,所自身在走一遍程序的时候,n变成4了。ps一下下:减一了,但是没有写赋值给n,n怎么会变4? 第二个就是 因为这个 return (c);,就是求 C,所以才会一层层的上去,直到上不了(n=5),

已有6条答案
摇摆哥燥起来

摇摆哥燥起来

回答数:214  |  被采纳数:72

age(n-1)把4赋值给n
2017-03-06 11:52:40
赞 21
zhouxiean

zhouxiean

回答数:188  |  被采纳数:134


看看我问题和我自己的解释, 有哪些是不对的地方?请指教一下!
2017-03-06 16:15:20
赞 18
ann大桐思密达

ann大桐思密达

回答数:219  |  被采纳数:119


没错,你可以按F11看他是怎么执行的
2017-03-06 13:21:42
赞 21
x笑是一种美德

x笑是一种美德

回答数:9  |  被采纳数:115


嗯嗯 不知道怎么回事一调试,弹出来的窗口就关不了,额。怎么回事呐?我的是 VC++6.0的,求帮忙..嘿嘿(1)
2017-03-06 13:32:52
赞 0
真名士…自风流

真名士…自风流

回答数:200  |  被采纳数:47


(2)

按这个按钮停止
2017-03-06 14:29:13
赞 20
__宇阿锅

__宇阿锅

回答数:183  |  被采纳数:63


嗯嗯 晓得勒!谢谢侬!(3)
2017-03-07 00:42:54
赞 18
相关问答
最新其他问答
解决方法