C ++用户定义函数返回不正确[关闭]
Posted
技术标签:
【中文标题】C ++用户定义函数返回不正确[关闭]【英文标题】:C++ user defined function returning incorrrect [closed] 【发布时间】:2020-11-24 02:34:52 【问题描述】:xSum 的值在用户定义的函数中是正确的,但是当它返回到主函数时它是一个不正确的值。为什么返回值不正确给主函数?
double arrayMulti(double X[], double Y[],const int size, double xSum, double ySum, double xySum);
int main()
double slope, xSum, yInt,ySum,xySum,xSqrSum;
const int size = 10;
double X[size];
double Y[size];
arrayPop(X,Y,size);
arrayMulti(X,Y,size,xSum,ySum,xySum);
cout<<xSum<<endl;
double arrayMulti(double X[], double Y[],const int size, double xSum, double ySum, double xySum)
xSum = 0, ySum = 0, xySum = 0;
for (int i = 0; i<size; i++)
xSum = xSum + X[i];
ySum = ySum + Y[i];
xySum = xySum + X[i]*Y[i];
cout<<xSum<<endl;
return xSum;
【问题讨论】:
你怎么知道它们不同?您的程序没有任何输出。 我只是在主函数和用户定义函数中都放了一个 cout。用户定义的 -.1088 是正确的,但主函数给出了 6.76672e-319,无论返回是否在用户定义的函数中都会发生这种情况 请将该代码与输出一起添加到问题中,而不是作为评论。 谢谢,这样更好。你打开警告了吗?这样做并修复所有警告。 【参考方案1】:您没有在main()
中为xSum
分配任何内容。您的arrayMulti
函数按值获取其参数,因此它不会更改在main()
中看到的值。它确实返回一个值。
可能你想要的是类似的东西
xSum = arrayMulti(X,Y,size,xSum,ySum,xySum);
【讨论】:
以上是关于C ++用户定义函数返回不正确[关闭]的主要内容,如果未能解决你的问题,请参考以下文章