C -2D阵列填充



我想填充2D数组,这就是我要做的。但是,它会产生编译错误,例如警告:计算的值不使用,我不明白为什么。如果有人可以向我展示问题并解释可以做什么,我将不胜感激。谢谢!

    #include <stdio.h>
    #include <string.h>
    int main()
    {
       int array1[4][4];
       int len = sizeof(array1) / sizeof(array1[0]);
       int wid = sizeof(array1[0]) / sizeof(array1[0][0]);
         int i, j , z = 0;
         //compile error
         for(i = 0, i < len; i++)
         {
            for(j = 0, j < wid; j++)
            {
              array1[i][j] = z;
            }
            z++;      
         }
         int a, b;
         for(a = 0, a < len; a++)
         {
            for(b = 0, b < wid; b++)
            {
              printf("%d", array1[a][b]);
             }
         }
           return 0;
         }

您在每个for语句的初始化部分之后放了一个逗号。您应该放一个半龙。例如,您写了这篇文章:

     for(i = 0, i < len; i++)

您需要将其更改为:

     for(i = 0; i < len; i++)

另外,您可能需要在数组元素之间打印空间,而每行之后的新线:

     for(a = 0; a < len; a++) {
        for(b = 0; b < wid; b++) {
          printf("%d ", array1[a][b]);
        }
        printf("n");
     }

最新更新