求助!关于课本上的函数递归调用的问题
课本中关于函数的递归调用有一个例题,age(n)
int n;
{
int c;
if(n==1)c=10;
else c=age(n-1)+2;
return(c);
}
main()
{
printf("%d",age(5));
}
运行结果为 18
我没有看懂,首先main主函数调用age(5)函数,age函数中的n为5,执行c=age(4)+2,调用age函数,n等于4,直到n等于1时,执行
c=10,然后执行return语句将c返回,可是返回到哪里呢?递归调用应该再递退回去阿,执行age(1)=10阿。
不明白,
大家帮帮忙!谢谢!