c - 我想以矩阵形式输入整数二维数组。获取以空格分隔的第一行元素,依此类推

标签 c

我需要将输入视为:

1 2 3 4
5 6 7 8
9 10 11 12

等等。

这就是我一直在尝试的 -

for(k = 0; k < n; k++)
    while(scanf("%d", &a[k][i++]) == 1);

最佳答案

您应该在外循环的每次迭代中重置 i 索引,并在目标矩阵中的列数处停止。这是带有 2 个 for 循环的修改版本:

int a[n][m];
int i, k;
for (k = 0; k < n; k++) {
    for (i = 0; i < m; i++) {
        if (scanf("%d", &a[k][i]) != 1) {
            // handle conversion error
        }
    }
}

关于c - 我想以矩阵形式输入整数二维数组。获取以空格分隔的第一行元素,依此类推,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49217025/

相关文章:

c - 是否有任何工具可以从一组 C 文件中提取所有变量(公共(public)变量和静态变量)?

c - 使用 Fscanf 解析特定的输入文件

c - 如何理解Locality Sensitive Hashing?

在保留顺序的同时将 float 转换为无符号整数

使用较新的编译器编译 linux 2.6 内核模块

c - 可变顺序对 sscanf 重要吗?

函数中的 C 指针

c - 如何使用msp430获取执行时间?

c - 如何知道函数的返回地址?

c - 如何使用 C 中的链接实现将元素插入和显示到 Dequeue