c - 输入二维数组

标签 c arrays multidimensional-array

我试图解决有关二维矩阵的问题,但不幸的是矩阵输入给出了错误。这是代码:

int arr[4][4];
int r, c;
scanf("%d", &r);
scanf("%d", &c);
int i, j;
fflush(stdin);
for(i = 0; i < r; i++)
    for(j = 0; j < c; j++)
        scanf("%d", &arr[i][j]);

当我运行它时,它需要额外的输入。
例如:如果 r = 2c = 2> 则需要 6 个输入,然后挂起。该怎么办?

最佳答案

如果 r=2 且 c=2,它将执行 2D 循环的前 2 个 scanf,然后执行 2x2 scanf。

这使得 2 + 2x2 = 6。

最后一次 scanf 后,如果您的程序完成,它就会关闭,这是正常的。

关于c - 输入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334325/

相关文章:

javascript - 2D 数组未转换为 D3 map 坐标

c - C 中的无限循环

c - 唤醒休眠线程

c++ - 从 FILE 结构获取文件模式?

c++ - 在 main(...) 而不是全局中初始化类的静态常量数组成员?

c - 变量作为结构中的数组大小

php - 如何按某个键对多维数组进行排序?

java - 将随机数随机放入二维数组

c++ - 热获取范围内的随机日期

c - 为什么指针 "forget"尽管指向 malloc 内存,但其值却是 0x104567910