Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 将二维数组传递给函数会返回意外的输出_C_Arrays_Vector - Fatal编程技术网

C 将二维数组传递给函数会返回意外的输出

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++) {

这个程序的目的是计算多个向量的长度并按大小排序。之后,我编写了一个函数VL,用一维数组作为输入,以及前面提到的数组的长度,并在另一个程序中进行了测试,它似乎工作得很好

VL函数

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;