【发布时间】:2021-10-28 05:12:48
【问题描述】:
假设我有两种类型的查询 一个是 1 2 3 另一个是 2 3
如果头部(索引 0)为 1,则输入中的总数为 3 (1 2 3)
如果头部为 2,则输入中的总数为 2 个数字 (2 9)
如何检测它?谢谢
我遇到的问题是我扫描了其中的 3 个
scanf("%d %d %d",&a,&b&c)
所以,当我在输入 (2 3) 中只有 2 个数字时,程序将不会继续
谢谢
【问题讨论】:
-
您可以多次致电
scanf,知道吗?调用一次以获得第一个号码,然后基于此以正确的格式再次调用它。 TBH 更好的方法是fgets读取该行,然后sscanf解析整数。sscanf的返回值会告诉你有多少数字被成功解析。 -
请解释“程序不会继续”,我对此表示怀疑。我认为需要minimal reproducible example 来演示它。
-
请看stackoverflow.com/questions/69711230/… 我差点以为是重复的。
标签: c