c++ - C++ 用户定义函数返回不正确
问题描述
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;
}
解决方案
您没有为xSum
in分配任何内容main()
。您的arrayMulti
函数按值获取其参数,因此它不会更改在main()
. 它确实返回一个值。
可能你想要的是类似的东西
xSum = arrayMulti(X,Y,size,xSum,ySum,xySum);
推荐阅读
- vba - 阻止 Outlook 中的传入电子邮件
- android - Firestore 不返回集合的所有文档
- java - 使用测试容器作为 Dockerfile 的一部分运行测试
- c# - FreshTabbedNavigationContainer 标签栏中的图标在 IOS 中是巨大的
- android - 如何在每个构建中随机化 ProGuard 字典?
- vb.net - ShellStream 输出包含未知字符
- java - 为了使以下代码起作用,我的图像文件必须位于何处?
- javascript - 在 JavaScript 中使用调用方法和使用“=”运算符的方法借用有什么区别?
- javascript - 是否可以使用 Chrome 开发工具查看当前有多少事件侦听器处于活动状态?
- c# - ShotGun 传播统一 3d FPS 射击游戏