Новичок в C и сталкивается с проблемой с функцией, которая инициализирует массив. Составитель в коде: Блоки 16.01 на ОС Windows 10. Специальный код У меня возникли проблемы с является:Процесс завершен со статусом -1073741819 mid loop?
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;
}
Я настроил операторы печати, чтобы увидеть, как далеко я получаю до аварии, и я сделать его второй для цикла, но он падает при i = 140. Если я изменю константу (равную 1000), то самая высокая, с которой я могу установить ее без сбоев, - это i < 84 как ни странно. Что вызовет статус завершения -1073741819 в середине цикла, когда первая строка инициализирована без проблем, но строка 2 выбирает сбой около i = 140.
Я пробовал поиск в google и здесь, и кажется, что код завершения не является очень конкретным кодом, так как я видел решения от необходимости использования оператора return, пытающегося получить доступ к тому, что не существует и т. Д. Действительно потерян.
'float auction [2] [MAXAUCTIONITEMS]': ваше первое измерение имеет размер 2, но вы продаете аукцион с аукционом [2] [i] ', выходя за рамки. Помните, что C - 0. – Evert
Как правило, вы должны отправить всю программу, которая демонстрирует ошибку - например. включают в себя «главную», которая делает наименьший объем работы для проявления ошибки. – Hurkyl
Используйте отладчик для решения этих проблем. – Evert