求解,为什么这样写是错的

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

诺丁汉

2017-01-08 20:16

#include <stdio.h> 

/* 

 * 请使用递归函数完成本题

 * 小编已将正确代码放在左侧任务的“不知道怎么办”里

 * 小编希望各位童鞋独立完成哦~

 */

getNumber(n)

{

    int yearsold; //定义岁数

    if(n==1)

    {

        return 10;

    }

    else

    {

        yearsold=getNumber(n)+2;

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

    }

    return  yearsold;    

}

int main() 

{

    int yearsold=getNumber(5); 

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

return 0;

}


写回答 关注

2回答

  • 西红柿卫士
    2017-01-08 22:03:46
    已采纳

    yearsold(//第n个人的年纪)=getNumber(n-1)(//上个人的年纪)+2;

    你的n没-1,那肯定是错误的

    诺丁汉

    非常感谢!

    2017-01-09 20:13:17

    共 1 条回复 >

  • onlyl_pets
    2017-03-28 23:34:21

    为什么要减1呢,一直不明白

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题