我写了一个递归函数来计算一个双精度数组的总和。由于某些原因,我的递归函数返回的值不正确。实际上,我的递归总和与我的迭代总和不匹配。我知道我在某个地方犯了一个小错误,但我看不出在哪里。您的帮助将不胜感激。我只粘贴了递归函数。我在 Visual Studio 上使用 C++。谢谢!
double recursive_sum(double array_nbr[], int size_ar)
{ double rec_sum=0.0;
if( size_ar== 0)
return -1;
else if( size_ar> 0)
rec_sum=array_nbr[size_ar-1]+recursive_sum(array_nbr,size_ar-1);
return rec_sum;
}
//#### Output######
The random(s) number generated in the array =
0.697653 | 0.733848 | 0.221564 |
Recursive sum: 0.653066
Iterative sum: 1.65307
Press any key to continue . . .