标签: c matrix scanf
我想扫描一个2-D矩阵的整数行,即'C'中一次一行
例如: 如果矩阵是:
1 2 3 4 5 6 7 8 9
然后应该只使用3次扫描,第一次输入
1 2 3
立刻等等其他行。
对于角色我们可以使用类似的东西:
char mat[10][10]; scanf("%s[^\n]%*c", mat[i]);
整数可能类似吗?
答案 0 :(得分:0)
如果您不知道列数或行数,则可以执行以下操作:
逐行读取每一行到一个字符串。然后在空格字符上分割当前行(使用例如strtok),并使用例如strtol将字符串解析为整数。
strtok
strtol
喜欢这个伪代码
while (fgets(line)) { number_string = strtok(line, " "); while (number_string != NULL) { mat[i++][j++] = strtol(number_string, NULL, 10); number_string = strtok(NULL, " "); } }