问答详情
源自:5-9 递归函数练习

求大神帮忙看一下

#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;”?



提问者:qq_慕娘6287402 2019-09-20 16:28

个回答

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

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

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

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