嵌套for循环保存最后输入而不是整个输入

时间:2018-03-15 19:53:29

标签: c arrays variable-length-array

我又回到那个C问题嘿。所以我试图让用户输入一个完整的2d数组(大小,值,一切),与VLA阵列(我使用最新的编译器)。一切都很好,直到我得到嵌套的for循环,然后它将最后一个值保存到数组中并忽略它之前的任何内容。我似乎无法弄清楚如何修复我的VLA迭代遍历数组中的每个元素并分配用户输入的值,我得到的是它将我的最后一个值保存到整个数组中。通过一些测试,我发现我的问题包含在我的嵌套for循环的内部循环中。编辑:通过Weather Vane的帮助,我们发现在我的x和y被保存之后需要初始化数组,但现在它将我的最后一个值保存在整个数组中而不是每个值都输入。这是我的代码片段:

   int x, y, row, col, a = 0;
   //int NxM[x][y]; Moved 
   bool counter[10]; //I have 1 last part to code that involves this

   printf("This program counts occurrences of digits 0 through 9 in an NxM 
   array.\n");

   printf("Enter the size of the array (Row Column): ");
   scanf("%d %d", &x, &y);
   int NxM[x][y]; //Moved here.
   for(row = 0; row < x; row++){
       printf("Enter row %d: \n", a);
       a++;
      for(col = 0; col < y; col++){


               scanf("%d ", &NxM[x][y]);//Why you only save 1 value >.<
        }


   }

(我在循环之间使用printf语句的原因是测试循环问题的位置,因为我需要我的printf看起来像Enter row 0 Enter row 1等。)

0 个答案:

没有答案