这是我的代码片段:二维数组打印错误
float *fittedLine[NO_OF_INTERVALS];
int i;
for(k=0;k<NO_OF_INTERVALS;k++){
fittedLine[k] = plotLines(tStart, tEnd, yStart, yEnd);
for(i=0;i<14;i++)
printf("%f\n", fittedLine[k][i]);
}
我的问题:print语句不给予适当的输出;垃圾值被打印。
我试着通过在第5行放置一个断点并尝试打印 “适配线[0] [0]”,“适配线[0] [1]”等等进行调试。 这给出正确的输出。但是在印刷声明中,事情开始崩溃。这里发生了什么? plotLines返回一维数组。
的故事情节功能:
float * plotLines(float t0, float tf, float y0, float yf){
float m = (yf - y0)/(tf - t0);
float t = t0;
int i = 0;
float y[200];
while(t<tf){
y[i] = m*t + yf - m*tf; ///y - y1 = m(x - x1)
i++;
t = t+SAMPLINGTIME;
}
return y;
}
请发布[mcve]。并描述一下“正确的输出”应该是什么。 – kaylum
显示'plotLines'功能。 –
你还没有为你的指针变量'fitsLine'分配任何内存! – user1336087