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

求教这哪错了??

http://img2.mukewang.com/5df50f9d0001e2dd05930637.jpg求助这哪错了

提问者:qq_慕运维8433574 2019-12-15 00:37

个回答

  • 盐腊鱼
    2019-12-15 09:20:41

    #include<stdio.h>
    
    int year(int n)
    {
        int age=0;
        
        if(n==1)
        {
            age = 10;
        }
        else
        {
            age = year(n-1) + 2;
           }
           return age;
    }
    
    int main()
    {
        int y = year(5);
        printf("第5个人的年龄是%d岁\n",y);
        
        return 0;
    }

    以上是修改后的代码,不建议复制代码到本机运行,mooc代码行编辑器不知道添加了啥不可见字符,直接复制的代码在本机编译时会报错,建议手动输入代码

    你代码的错误如下:

    第7行:int year(n) // 声明带参数的函数要指定参数的类型

    第11行:age = 10; // 变量在使用前要先声明

    第18行:return age; // return语句要放在函数year(int n)的大括号中才能起到返回age值的作用

    第30行:int y=yeaar(5) // 函数拼写错误,语句结束没有分号符