C编程printf在使用嵌套循环时不打印

标签 c

我正在学习 C 编程中的多维数组。但是 printf 函数不起作用。这是我的代码:

#include <stdio.h>
int main (void)
{
  int array[2][3][4]; 
  for (int i = 0; i < 3; i++)
  {
    for (int j = 0; j < 4; j++)
     {
        for (int k = 0; k < 5; k++)
        {
            array[i][j][k] = k;
            printf("array[%d][%d][%d] = %d\n", i, j, k, array[i][j][k]);
        };
    };

};
printf("Loop is finished!");
return 0;
}

最佳答案

你将越界。

取第一个维度 2,你的循环 < 3.... 所以它会使用索引 0 1 2 .只有01有效。将循环更改为 i < 2 , j < 3k < 4分别。

关于C编程printf在使用嵌套循环时不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255728/

相关文章:

C 全局共享变量与外部变量

c - 在菜单中制作菜单

c - PIC代码和 `ld -r`有什么区别?

c++ - 无法在 OS X 10.9 Mavericks 上编译 Asterisk

c - 仅使用循环来区分两个字符串

c - 错误 LNK2019 : unresolved external symbol when using SendInput()

c++ - 两个宏之间重复运算的效率

c - 如何在 C 中阻止信号?

c++ - 从字节数组将 XML 加载到 C++ MSXML

c - 在 beaglebone black 上出现段错误