孤依蓑客
2020-03-29 16:42
#include<stdio.h>
int getAge(int n)
{
int age;
if(n==1)
age=10;
else
{
age=getAge(n-1)+2;
}
return age;
}
int main()
{
printf("第5个人的年龄是%d岁",getAge(5));
}
递归调用时参数是n-1,当n减小到n=1时,age=10,然后在循环带回去,就可以返回一个age的总和,这个时候return age就跳出了循环。例如getAge(3) = getAge(2)+2,getAge(2) = getAge(1) + 2;此时getAge(1) = 10
所以结果为:10+2+2=14;
C语言入门
926287 学习 · 20799 问题
相似问题