這是我的代碼片段:二維數組打印錯誤
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