问答详情
源自:5-8 递归函数(二)

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

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

提问者:qq_照遍天宇_04160908 2016-10-23 22:52

个回答

  • Void_main
    2016-10-24 09:43:24
    已采纳

    这个问题的递归顺序:

    调用函数时传的值为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天数量。