关于函数递归的一个问题
age(int n){int c;
if(n==1)c=10;
else c=age(n-1)+2;
return(c);
}
main()
{ printf("%d",age(5));
}
这个程序,当n==1后,c=10
接下来程序怎么走?
我觉的当n==1后,不会再走else这一语句了吧
实在没有想明白

return完了之后呢
不还是进行不下去吗
不难理解吧,通俗点,怕楼上的你看不明白,每次return回来的值是c,那么
age(5)=age(4)+2,则printf(...,(age(4) + 2));同理,age(4)=age(3)+2,printf(...,((age(3)+2)+2));
最后成age(1)时,printf(...,((age(1)+2)+2...)),这样应该通俗了吧...
明白了,谢谢4楼 5楼的两位耐心指点
感觉递归函数确实是个难点