阵列扫描两次?

问题描述 投票:-5回答:1
#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
c arrays input scanf
1个回答
2
投票

这是一个工作版本:

#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你只有一个有效指数。

© www.soinside.com 2019 - 2024. All rights reserved.