问答详情
源自:5-7 递归函数(一)

递归算桃返回值的问题

#include <stdio.h>
int getPeachNumber(int n)
{
    int num;    //定义所剩桃子数
    if(n==10)
    {
        return 1;       //递归结束条件
    }
    else 
    {
        num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?
        printf("第%d天所剩桃子%d个\n", n, num); //天数,所剩桃子个数
    }
    return num;
}
.........................................

在递归算桃这个例子里,递归结束条件 return 1为什么不能用num=1?这两个都能编译运行。请问有区别吗?

提问者:wHHHHd 2016-01-23 20:59

个回答

  • 章肿鱼
    2016-01-24 22:40:52

    return 1是返回函数值给该函数,然后结束运算;num = 1只是简单的赋值,继续向下运行。