C初學者,遇到一個初始化數組函數的問題。編譯代碼:塊16.01在Windows 10,我在遇到問題的具體代碼:進程以狀態-1073741819中間循環結束?
void initAuction(float auction[2][MAXAUCTIONITEMS]) {
int i;
for (i = 0; i < MAXAUCTIONITEMS; i++) {
auction[1][i] = -1;
printf("\n%f\t%d\n", auction[1][i], i);
};
for (i = 0; i < MAXAUCTIONITEMS; i++) {
auction[2][i] = 0;
printf("\n\n%f\t%d", auction[2][i], i);
}
printf("\n%f\n", auction[2][70]);
return;
}
我已經設置了打印語句,看我有多遠在飛機墜毀前獲取和我使其向第二個for循環,但它在i = 140時崩潰。如果我改變常量(等於1000),那麼我可以將它設置爲最高而不會崩潰,這很奇怪。什麼會導致終止狀態-1073741819中間循環時,第一行初始化沒有問題,但第2行選擇崩潰在i = 140左右。
我試着搜索谷歌和這裏似乎終止代碼是不是一個非常特殊的代碼,因爲我已經看到需要一個return語句,試圖訪問的東西不存在,等解決方案真的輸了。
'浮動拍賣[2] [MAXAUCTIONITEMS]':你的第一個維度是大小爲2,但你指數拍賣'拍賣[2] [I]',會出界。請記住,C是基於0的。 – Evert
通常,您應該提交一個演示錯誤的完整程序 - 例如包括一個'main',這個''做了最少量的工作來展現錯誤。 – Hurkyl
使用調試器來解決這些問題。 – Evert