【问题标题】:Why do I keep getting the message "Error: arr parameter is initialized." in multi dimensional array?为什么我不断收到消息“错误:arr 参数已初始化”。在多维数组中?
【发布时间】:2019-05-10 02:06:52
【问题描述】:

在这里,我试图遍历一个三维数组,但我不断收到错误消息“参数已初始化”在数组中。

    int arr[2][2][3] = 
{
{
    {1,2,3},
    {4,5,6}
},
{
    {10,11,12},
    {13,14,15}
}
};
for(int i=0; i<2; i++) {
    for(int j=0; j<3; j++) {
        for(int k=0; k<3; k++) {
            printf("%d\r\n", arr[i][j][k]);
        }
    }
}

【问题讨论】:

  • 小心,在你的第二个 for 循环中有 j&lt;3 将在 arr 之外建立索引
  • 在其他地方是否有更多代码重新声明了arr
  • 请尝试创建一个复制问题的minimal reproducible example,我们可以复制并自己尝试。还请复制粘贴编译器的 fullcomplete 输出,并告诉我们您正在使用的编译器、它的版本以及您传递给的标志和选项它在构建时。通过编辑您的问题来做到这一点。
  • 我的水晶球说您试图将此代码放入函数中,但忽略了函数的初始 {

标签: c arrays multidimensional-array


【解决方案1】:

声明int i, j, k;在循环之外。 在您的编译器中可能不允许在循环中声明它们。

【讨论】:

    猜你喜欢
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-15
    • 2014-02-16
    • 2015-11-03
    • 2020-12-05
    相关资源
    最近更新 更多