#include <iostream>
using namespace std;
int age(int);
int main()
{
cout<<age(5)<<endl;
return 0;
}
int age(int n)
{
int c;
if(n==1) c=10;
else c=age(n-1)+2;
return c;
}
我想问下这段要怎么理解
int age(int n)
{
int c;
if(n==1) c=10;
else c=age(n-1)+2;//age(5),我想问这里是怎么理解,
return c;
}
系统是按什么顺序来执行age(5)的。是从n=5,c=age(5-1)+2;
n=4,c=age(4-1)+2;
n=3,c=age(3-1)+2;
n=2,c=age(2-1)+2;
n=1,c=10;
还是从n=1,c=10;
n=2,c=age(2-1)+2;
n=3,c=age(3-1)+2;
n=4,c=age(4-1)+2;
n=5,c=age(5-1)+2;
能理解成是n=1,c=10,把C返回到age,
后面n=2,c=age(2-1)+2,c=调用上面的aeg=10+2;在把c=12的值返回到age.
后面n=3,c=age(3-1)+2,c=调用上面的aeg=12+2;在把c=14的值返回到age.
后面n=4,c=age(4-1)+2,c=调用上面的aeg=14+2;在把c=16的值返回到age.
后面n=5,c=age(5-1)+2,c=调用上面的aeg=16+2;在把c=18的值返回到age.
age在被main调用输出18?
能按我这样理解吗,如果是的话,c=age(n-1)+2,不是可以改成c=age+2吗,请指出我做在哪,谢谢
是错在哪,不是做在哪,上面字错咯