Сканирование массива дважды? - PullRequest
0 голосов
/ 04 сентября 2018
#include <stdio.h>
int main()
{
   int array[1][1];
   for (int x = 0; x < 2;x++)
   {
     printf("x%d\n",x);
     for (int y = 0; y < 2;y++)
     {
       printf("y%d\n",y);
       scanf("%d\n",&array[x][y]);
     }
   }
   return 0;
}

Я пытаюсь отсканировать элементы массива, чтобы запустить матричный калькулятор. Код принимает в качестве входных данных 5 чисел, а не 4. После x0 и y0 требуется два числа и idk почему. Я опубликовал вывод.

x0
y0
1
1
y1
1
x1
y0
1
y1
1

1 Ответ

0 голосов
/ 04 сентября 2018

Вот рабочая версия:

#include <stdio.h>
int main()
{
   // Define a 2x2 array
   int array[2][2];

   for (int x = 0; x < 2;x++)
   {
     printf("x%d\n",x);
     for (int y = 0; y < 2;y++)
     {
       printf("y%d\n",y);
       scanf("%d", &array[x][y]);
     }
   }

   return 0;
}

Где array[n] имеет индексы 0 .. n-1, где, если n=1, у вас есть только один действительный индекс.

...