C 将二维数组传递给函数会返回意外的输出
这个程序的目的是计算多个向量的长度并按大小排序。之后,我编写了一个函数VL,用一维数组作为输入,以及前面提到的数组的长度,并在另一个程序中进行了测试,它似乎工作得很好 VL函数C 将二维数组传递给函数会返回意外的输出,c,arrays,vector,C,Arrays,Vector,这个程序的目的是计算多个向量的长度并按大小排序。之后,我编写了一个函数VL,用一维数组作为输入,以及前面提到的数组的长度,并在另一个程序中进行了测试,它似乎工作得很好 VL函数 double VL(double w[], int num) /*Calculate vector length*/ { int k; double presqrt; double length = 0; for (k = 0; k < num; k++) {
double VL(double w[], int num) /*Calculate vector length*/
{
int k;
double presqrt;
double length = 0;
for (k = 0; k < num; k++)
{
presqrt += w[k] * w[k];
}
length = sqrt(presqrt);
return length;
}
在
VL
函数中,将乘法结果添加到presqrt
presqrt += w[k] * w[k];
但是,presqrt
的初始值没有定义
请在VL
函数的开头将其初始化为0.0:
double presqrt = 0.0;
请修复此
双预qrt代码>到该双精度=0.0代码>。让我知道它是否有用谢谢你的帮助,它现在很好用!
return 0 ;
}
presqrt += w[k] * w[k];
double presqrt = 0.0;