函数递归问题...!
#include "stdio.h"age(int n){
int c;
if(n==1) c=10;
else c=age(n-1)+2;
printf("%d ",c);
return c;
}
int main()
{
printf("%d",age(5));
}
递归问题...想越晕..! 函数被调用之后在内存里的值不是全被释放了吗。?怎么还会返回 18 呢..!
这个的结果是 :10 12 14 16 18 18
如果在else 上加个{} 如:
#include "stdio.h"
age(int n){
int c;
if(n==1) c=10;
else{ c=age(n-1)+2;
printf("%d ",c);
}
return c;
}
int main()
{
printf("%d",age(5));
}
结果怎么又是:12 14 16 18 18
十怎么就没了。?
我想知道就是..他调用时值是怎么存储的..!