程序终止,状态为 -1073741510 在 for 循环的中间,将输入分配给二维数组

Program terminates with status -1073741510 in middle of for loop assigning input to 2-D array

本文关键字:中间 输入 二维数组 分配 for 状态 终止 -1073741510 程序 循环      更新时间:2023-10-16

我正在开发一个自学程序,我正在使用的书希望我制作一个程序,该程序在二维数组中保持 3 年的月销售额。问题是该过程以状态终止 - 1073741510我输入"2018 年 4 月"的销售。

我寻找其他程序以相同状态终止并且除以零错误似乎是原因的人,但是我看不出该程序如何在此分配循环中除以零错误。

#include <iostream>
using namespace std;
const int Years = 3;
const int Months = 12;
int main()
{
const char *months[Months] = {"January", "February", "March", "April",
"May", "June", "July", "August", "September",
"October", "November", "December"};
const char *years[Years] = {"2016", "2017", "2018"};
int sales[Years][Months];
int i = 0;
int j = 0;
cout << "Please enter the sales for 2016-2018" << endl;
for (const char *x : years)
{
for (const char *y : months)
{
cout << x << " " << y << ": " << endl;
cin >> sales[i][j];
j++;
}
i++;
}
return 0;
}

这超出了界限,因为当你经历了一年中的所有月份时,你并没有把j放回0。当你做i++;时,也要做j = 0;