这样写可以么

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

慕少1050717

2016-03-07 21:43

#include <stdio.h>     

    int getold(n);

{

    int old(n);

    if (n==1)

    

        return 10;

    

    else if (n<=5)

    

      old(n)=getold(n-1) +2;

    

}

int main() 

{

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

return 0;

}


写回答 关注

2回答

  • Stephanie_z
    2016-04-22 16:05:15

    else之后没有返回值

     else 之后没有返回值;printf 输出应是getold(5);int getold(n)后面没有分号;在定义的函数里int old而不是另外一个函数

    #include <stdio.h>     

        int getold(n)

    {

        int old;

        if (n==1)

            return 10;

        else if (n<=5)

          old=getold(n-1) +2;

        return old;

    }

    int main() 

    {

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

    return 0;

    }


  • night123
    2016-03-07 21:55:47

    有错误


    night1... 回复慕少1050...

    int years(int n) { int num; if(n==1) num=10; else { num=years(n-1)+2; } return num; } 递归函数改一下吧 这给你参考

    2016-03-07 22:27:33

    共 2 条回复 >

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题