【发布时间】:2022-01-06 23:01:25
【问题描述】:
我必须为 c 中的一个数组输入输入。示例输入将是这样的 -
33 33 2
000000000000000000000010000000000
000000000000000000000111000000000
000000000000000000001110100000000
000000000000000000011111111000000
000000000000000000001011100000000
000000000000000000000111000000000
000000000000000000000010000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
011111111111110000000000000000000
011011111111110000000000000000000
011111111110110000000000000000000
011111111111110000000000000000000
011111111111110000000000000000000
011111011111110000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
000000000000000000000000000000000
这里,33 和 33 是 m 行和 n 列。 2 是整数网格中的模式数。而其余的是矩阵。
我将如何将这个矩阵输入到 C 中的数组中。很长一段时间以来一直存在问题。这是我当前的代码。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int **array;
int m = atoi(argv[1]);
int n = atoi(argv[2]);
array = calloc(m, sizeof(int *));
for (int i = 0; i < m; i++) {
array[i] = calloc(n, sizeof(int));
}
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++)
{
/*Code to get input from*/
}
}
for (int i = 0; i < m; i++) {
free(array[i]);
}
free(array);
return 0;
}
【问题讨论】:
-
使用 scanf("%s", buff) 读取字符串。这将一直读到下一行,然后您可以将每个字符转换为您想要的数字
-
首先:检查argc是否正确并采取相应措施
标签: c multidimensional-array io