各位帮我看看代码哪出错了

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

gadada

2019-03-29 20:35

#include <stdio.h> 


int getAge(n)

{

int num;

if(n == 1)

{

return 10;

}

else if(n>1)

{

num = getAge(n-1) + 2;

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

}

else

{

printf("输入错误!\n");

}

}


int main()

{

int Num = getAge(5);

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

getchar();

return 0;

}


写回答 关注

2回答

  • gadada
    2019-03-30 10:28:03

    已解决,错误是在定义函数最后没写return num;

  • 慕用0154158
    2019-03-30 00:35:17

    #include <stdio.h> 

    int getAge(n)

    {

        int num;

        if(n == 1)

        {

            return 10;

        }

        else 

        {

        num = getAge(n-1) + 2;

       

        }

        return num;

    }

    int main()

    {

        int Num = getAge(5);

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

        

        return 0;

    }

    帮你改了一下,题目只让你输出第5个人的年龄,其他的不同考虑。

    gadada

    else { num = getage(n-1)+2; //printf("第%d个人的年龄是%d岁\n",n,num); /*上面这行不注释的时候第五个人的输出就变成28了,printf对num的值有什么影响嘛。 注释输出: 第1个人的年龄是10岁 第5个人的年龄是18岁 不注释输出: 第1个人的年龄是10岁 第2个人的年龄是12岁 第3个人的年龄是30岁 第4个人的年龄是30岁 第5个人的年龄是30岁 第5个人的年龄是28岁*/

    2019-03-30 10:20:35

    共 1 条回复 >

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题