c++ - 填充数组会导致数组周围的堆栈被破坏

标签 c++ arrays

我正在尝试使用 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/

相关文章:

c++ - 数组分区函数

javascript - 数组javascript中具有parentID的所有子元素的计数

c++ - 是否可以通过单个指针访问多态类的不同祖先的虚方法?

c++ - 如何根据条件推断可以返回类型的函数类型?

c++ - 将本地共享库与 Waf 链接(无需库编译)

c++ - HLSL 着色器显示有线颜色

sql - jsonb 在数组中查找一个值

c++ - glDebugMessageCallback 导致访问冲突(GLFW + GLAD)

javascript - 为什么 forEach 函数不执行任何循环步骤

arrays - 创建 int 数组,它是一个位字段