为了账号安全,请及时绑定邮箱和手机立即绑定

C语言入门~~递归函数的输出顺序

总感觉没有按常理输出呢???!!!

正在回答

1 回答

这个问题的递归顺序:

调用函数时传的值为1,即为第10天的桃子数量;

进入自己定义的函数中,首先要计算的是第1天的桃子的数量,但是要想得到第1天,就要先知道第2天的数量,

11. num = (getPeachNumber(n+1)+1)*2;  

12.printf("第%d天所剩桃子%d个\n", n, num); 

执行到11行代码时,又遇到了一个getPeachNumber(n+1)函数调用,所以要先得到此调用函数的值,12行的代码暂不执行。

依次类推,计算第9天的时候,调用getPeachNumber(n+1)函数,即返回了第10天的数量,然后可以执行12行的代码,先输出第9天数量。


0 回复 有任何疑惑可以回复我~
#1

qq_照遍天宇_04160908 提问者

非常感谢!
2016-10-24 回复 有任何疑惑可以回复我~
#2

qq_照遍天宇_04160908 提问者

11. num = (getPeachNumber(n+1)+1)*2; 12.printf("第%d天所剩桃子%d个\n", n, num); 那11行里面的n取值是多少?第十二行的呢?谢谢
2016-10-24 回复 有任何疑惑可以回复我~
#3

Void_main 回复 qq_照遍天宇_04160908 提问者

不好意思才看到,N为当前调用的函数的值
2016-11-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

C语言入门~~递归函数的输出顺序

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信