【发布时间】:2021-03-18 03:00:42
【问题描述】:
我正在尝试用 C 编写程序代码,但我发现了一个我无法解决的问题。我得到一组输入,但输入并不总是相同的。如何使用 scanf 读取不总是相同数量的数据?
输入 1):
+ 12345 Lala
输入 2):
- 12345
如果我使用这样的东西:
scanf("%s %d %s", a[i], &b[i], c[i]);
终端为我请求更多数据(我理解)。那么我如何使用 scanf 有时读取所有三个(字符串、整数、字符串),有时只读取两个(字符串、整数)?
【问题讨论】:
-
使用
fgets之类的东西将整行读入缓冲区,然后你可以使用sscanf解析其内容。