gpt4 book ai didi

c - 一次一行扫描矩阵

转载 作者:行者123 更新时间:2023-11-30 19:48:27 26 4
gpt4 key购买 nike

我想逐行扫描二维矩阵中的整数,即在“C”中一次扫描一行

例如:
如果矩阵是:

1 2 3  
4 5 6
7 8 9

那么应该只使用3次scanf并且第一次输入是

1 2 3  

立即,其他行依此类推。

对于字符,我们可以使用如下内容:

char mat[10][10];
scanf("%s[^\n]%*c", mat[i]);

整数也可以类似吗?

最佳答案

如果您不知道列数或行数,那么您可以执行以下操作:

将每一行逐行读入字符串。然后在空格字符上分割当前行(例如使用 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, " ");
}
}

关于c - 一次一行扫描矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18471126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com