扶瓜Fugue 发表于 2021-9-25 16:41:06

递归函数

本帖最后由 扶瓜Fugue 于 2021-9-25 16:51 编辑

正确的和错误的区别在哪里呢

用递归方法求5!

正确的函数部分:
int fun(int i)
{
    int j=i;
    if(i!=1)
      j=j*fun(i-1);

    return j;
}


错误的函数部分:
int fun(int i)
{
    int j;
    if(i!=1)
      j=i*fun(i-1);

    return j;
}

扶瓜Fugue 发表于 2021-9-25 16:45:01

本帖最后由 扶瓜Fugue 于 2021-9-25 16:57 编辑

因为j没有赋初值,第二个代码不通过if条件,只能返回j,但是j没有初始化,就会报错,返回的是随机给的一个值
页: [1]
查看完整版本: 递归函数