求大神帮忙看一下

来源:5-9 递归函数练习

qq_慕娘6287402

2019-09-20 16:28

#include <stdio.h> 

int getPeopleAge(int n)

{

    int age;    //定义年龄

    if(n == 1)

    {

        return 10;   //递归结束条件

    }

    else

    {

        age = getPeopleAge(n-1)+2; //递归

        printf("第%d个人%d岁\n",n,age); //第几个人,岁数

        return age;

    }

}

int main() 

{

    int age = getPeopleAge(5);

printf("第5个人的年龄是%d岁。\n", age); 

return 0;

}


为什么在 “age = getPeopleAge(n-1)+2; //递归” 中,不能是“age = getPeopleAge(n)+2;”?



写回答 关注

2回答

  • 小小疾飞
    2019-09-20 16:34:21
    已采纳

    那你的递归意义何在呢?死循环?

    qq_慕娘6... 回复小小疾飞

    明白了 谢谢

    2019-09-24 15:00:39

    共 3 条回复 >

  • weixin_慕沐5243866
    2019-09-22 12:36:50

    前面那个输出应该不用啊`

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题