我将得到三行输入。第一行会给我 2 个整数,第三行会给我 1 个整数。但是第二行可以给我 1 到 100 之间的任意数量的整数。例如,输入可以是:
2 1
5 6 1 9 2
10
或者可能是:
10 4
5 6
9
我可以将整数输入的第二行读取到整数数组中以获得固定数量的整数,但不能读取可变数量的整数。我想,在这种情况下,我应该使用 while 循环,它会在 scanf()
找到换行符时中断。我该如何编码?
最佳答案
使用
fgets()
或getline()
将行读入缓冲区 ( @John Coleman)。解析字符串寻找可能包含
'\n'
的空格,如果找到则退出循环。然后调用strtol()
或sscanf()
读取1号。还要检查该函数的返回值是否有错误。重复上述步骤。
关于c - 如何在 C 中读取不同数量的整数输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33568828/