1

我想填充二维数组,这就是我所做的。但是,它会给出编译错误,例如警告:未使用计算的值,我不明白为什么。如果有人能告诉我问题并解释可以做什么,我将不胜感激。谢谢!

    #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;
         }
4

1 回答 1

2

您在每个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");
     }
于 2012-10-18T01:50:53.503 回答