gpt4 book ai didi

c++ - 用于计算 n 个数之和的递归函数的意外输出

转载 作者:搜寻专家 更新时间:2023-10-31 01:29:51 24 4
gpt4 key购买 nike

我正在尝试编写一个简单的递归函数来计算 n 数字的总和。因此,我编写了下面的代码并且运行良好,但是当我尝试在递归函数中打印 sum 时,它(在 main 函数中)打印了一个随机数。

int SumRec(int n, int sum)
{
sum+=n;
if(n==1)
return sum;
else
SumRec(n-1,sum);
cout<<sum<<endl;
}

int main()
{
cout<<SumRec(2,0)<<endl;

return 0;
}

最佳答案

您应该确保 SumRec 返回一个整数值,只要您在声明它时 promise 过即可。我看到如果 n == 1 它返回 sum 但否则不会!所以你应该让它看起来像:

int SumRec(int n, int sum){
sum += n;
if(n == 1)
return sum;
else
sum = SumRec(n - 1, sum);

cout << sum << endl;
// when done from recursion i should return a value as i promised
return sum;
}

关于c++ - 用于计算 n 个数之和的递归函数的意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com