c - 如何在 C 中读取不同数量的整数输入?

标签 c input

我将得到三行输入。第一行会给我 2 个整数,第三行会给我 1 个整数。但是第二行可以给我 1 到 100 之间的任意数量的整数。例如,输入可以是:

2 1
5 6 1 9 2
10

或者可能是:

10 4
5 6
9

我可以将整数输入的第二行读取到整数数组中以获得固定数量的整数,但不能读取可变数量的整数。我想,在这种情况下,我应该使用 while 循环,它会在 scanf() 找到换行符时中断。我该如何编码?

最佳答案

  1. 使用 fgets()getline() 将行读入缓冲区 ( @John Coleman)。

  2. 解析字符串寻找可能包含 '\n' 的空格,如果找到则退出循环。然后调用strtol()sscanf()读取1号。还要检查该函数的返回值是否有错误。

  3. 重复上述步骤。

关于c - 如何在 C 中读取不同数量的整数输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33568828/

相关文章:

c++ - 通过代码在 Windows 操作系统上启用和禁用 DST

c - 在 C 程序中找不到终端命令 "convert"

java - 用户输入Java

javascript - 使用 jQuery 或 JavaScript 检查输入/类型文本是否为空/null

c - 如何读取大输入 - C 中的 8MB 数据

c - 如何确保用户输入值?

java - 按位非运算符

c - 在 "C"头文件中声明的静态函数

C++ |在不提供值的情况下接受用户输入

python - Python 中单行的多个变量?