我正在尝试使用 for 循环内的 for 循环用 0-25 之间的随机数填充 4x6 数组。生成数组后发生运行时错误 - “变量“grid”周围的堆栈已损坏。是什么原因导致发生这种情况?
int grid[4][6];
for (int y = 0; y < 4; y++) {
for (int x = 0; x < 6; x++) {
grid[x][y] = (rand() % 25);
}
}
最佳答案
你写的越界了。例如,您的循环可以在 (5, 3) 处写入,它位于数组边界之外。为了解决这个问题,对外部循环使用 x
,对内部循环使用 y
。
关于c++ - 填充数组会导致数组周围的堆栈被破坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28523850/