在 C 中,当我尝试运行该程序时,出现“段错误”。这是什么意思?我该如何解决这个问题?
Tag tagNewDataPoint(const double x[MAX_DIMENSION],
const double w[MAX_DIMENSION],
const int d)
{
int separator_arr,point_arr;
double result = 0;
for (separator_arr=0;separator_arr<d;separator_arr++)
{
for (point_arr=0;point_arr<d;separator_arr++)
{
result += w[separator_arr]*x[point_arr];
}
}
if (result <0)
{
return NEG;
}
else if (result >0)
{
return POS;
}
else
{
return NOTAG;
}
}
最佳答案
这个:
for (point_arr=0;point_arr<d;separator_arr++)
应该是:
for (point_arr=0;point_arr<d;point_arr++)
您增加了 separator_arr
,但很快就检查了 pointer_arr
值(永远不会改变) separator_arr
太大了,您的地址无效。
关于c - 分段故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6971921/