5
3 2 3 1 2
输入看起来像这样
第一行是一个整数,它告诉我将在第二行输入中获得多少个整数(数字为 <=200)。
第二行 int 应该输入到 int 类型的数组中。
最佳答案
我认为您应该阅读第一行,在知道第二行中有多少条目后,您可以执行如下操作:
char template[32];
memset(template, 0x00, sizeof(template));
for(i = 0; i < num; i++)
strcat(template, "%d");
之后,您可以使用该数组作为 sscanf 的模板:
int num[200];
sscanf(line2, template, &num[0], &num[1], &num[2],...);
您可以将所有数组放入 sscanf 中,即使值较少,也是如此,因为字符串“line2”的末尾被视为文件结束条件。
关于c - 在 C 形式标准输入中使用 scanf() 读取多行整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518730/