一定要return 1吗?

来源:5-8 递归函数(二)

帅比政小爷

2017-03-02 16:30

  if(n==10)

    {

       num =1;       //递归结束条件

    } 

为什么不行?

写回答 关注

3回答

  • nealpersist
    2017-03-11 01:02:48

    #include <stdio.h>

    int getPeachNumber(n)

    {

        int num;    //定义所剩桃子数

        if(n==1)

        {

          return 1;       //递归结束条件

        } 

        else

        {

            num = (getPeachNumber(n-1)-1)/2;   //这里是不应该用递归呢?

            printf("第%d天所剩桃子%d个\n",n,num); //天数,所剩桃子个数

        }

        return num;

    }

    int main()

    {

        int num = getPeachNumber(10);

        printf("猴子第一天摘了:%d个桃子。\n", num);

        return 0;

    }

    // 这样其实也可以,逆向一下

  • 慕粉0109273348
    2017-03-04 11:58:30

    http://img.mukewang.com/58ba3b510001cb1609860454.jpg

    在Devc++里面是可以通过的

  • 慕沐4061549
    2017-03-03 00:05:29

    return 1;表示的是返回值用于主函数中。

    若此是在主函数中的语句,则用return 0结束函数

C语言入门

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

926220 学习 · 20797 问题

查看课程

相似问题