int age(int n){
if (n == 1)
return 10;
else
{
return age(n - 1) + 2;
}
}
int main(void){
int i = 5;
age(3);
printf("age = %d\n" , age(3));
return 0;
}
就是这段代码上的返回值问题,首先第一个 我完全不理解else后面返回递归的问题,return age(n -1)+2 这是先计算n-1+2 然后在调用自身函数么是? 还是说是先算n-1 然后就开始递归了?如果是这样的话 岂不是没机会+2了? 最后是两个返回值 假设else里的n最后等于1 返回值也只有一个10啊 最后怎么会等于14呢,完全不理解啊 ,恳请哪位大牛深入浅出 详细的讲下 感激不尽