问答详情
源自:5-8 递归函数(二)

​把return 1;换成num=1;也可以吗?

    int num;    //定义所剩桃子数
    if(n==10)
    {
        num=1;     //递归结束条件
    }

把return 1;换成num=1;也可以吗?

提问者:慕斯卡2205256 2019-10-29 16:41

个回答

  • 八月长安就是二熊
    2019-11-07 12:26:36

    感觉不可以,return是返回值,你写num的话,num是你定义的一个数,他和返回return本质上都是不同的。

  • 篮球人菜虚鲲
    2019-10-29 23:35:23

    可以 后面有个return

    #include <stdio.h>
    int getPeachNumber(n)
    {
        int num;    
        if(n==10)
        {
           num=1;  
        } 
        else
        {
            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?
            printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
        }
        return num;   //这里同样可以返回主函数- -
    }
    int main()
    {
        int num = getPeachNumber(1);
        printf("猴子第一天摘了:%d个桃子。\n", num);
        return 0;
    }