人数为什么要写-1,算出来怎么是+的

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

qq_慕函数9094777

2020-12-22 00:44

#include <stdio.h> 

int num(int renshu)

{

    int suishu;

    if(renshu==0)

    {

    return 8;

}

    else

    {

    suishu= num(renshu-1)+2;

    printf("第%d个人%d岁\n",renshu,suishu);

}

    return suishu;

}

int main() 

{

    printf("第5个人的年龄是%d岁",num(5)); 

return 0;

}

我是照着之前代码写的,我的编译器可以运行但是浏览器的不能运行,我只有一个地方弄不明白就是人数不应该+1吗为什么要写-1?

写回答 关注

1回答

  • Bad__Boy
    2021-01-05 14:34:38

    我们已知的是第一个人的岁数,功能函数里传入的参数是我们想要知道第几个人的岁数,所以人数要依次递减1,直到减到我们已知的第一个人,由于年龄是越往前越小,所以人数每减去1个,年龄就要+2才能得到我们传入的那个参数的值(也就是中间有多少个人,就大了多少个2岁)

C语言入门

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

926026 学习 · 20793 问题

查看课程

相似问题