为了账号安全,请及时绑定邮箱和手机立即绑定

我想问一下这俩个问题都是怎么跳出递归函数循环的啊?

#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));
}

正在回答

1 回答

递归调用时参数是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;

1 回复 有任何疑惑可以回复我~
#1

孤依蓑客 提问者

懂了懂了!谢谢啦!
2020-03-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       927002    人
  • 解答问题       21533    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

我想问一下这俩个问题都是怎么跳出递归函数循环的啊?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号