1.递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;
2. 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反
如何理解这两句话,可以举个实际例子么
陈同学,看看这个。
#include <stdio.h>
a=0;
int getPeachNumber(n)
{
int num; //定义所剩桃子数
printf("第%d次\n",a++);
if(n==10)
{
return 1; //递归结束条件
}
else
{
num = (getPeachNumber(n+1)+1)*2; //这里是不应该用递归呢?
printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
}
return num;
}
int main()
{
int num = getPeachNumber(1);
printf("猴子第一天摘了:%d个桃子。\n", num);
return 0;
}
可以用函数f(x) (高中数学知识) 来理解递归
我表述能力不太好,讲起来怕会云里雾里的?