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

这样写可以么

#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;

}


提问者:慕少1050717 2016-03-07 21:43

个回答

  • 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

    有错误