【发布时间】:2018-10-29 08:52:05
【问题描述】:
我有一个程序,它采用 2 种不同格式的输入,第一个是三角形的 3 个(所以 6 个双数)点的坐标,第二个是三角形每一边的长度(所以 3 个双数) .
第一个格式如:{ [ 1.5; 2 ], [3;4.2], [ 0.5 ; 0.6 ] }
第二个可能是:{ 5, 4.7, 3.2 }
我如何识别输入了哪一个,而无需明确询问并且只执行一次 scanf? 谢谢!
【问题讨论】:
-
您可以与我们分享您的代码
-
欢迎来到 stackoverflow.com。请花一些时间阅读the help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请take the tour 和read about how to ask good questions。最后请阅读this question checklist。
-
至于您的问题,
scanf系列函数对于复杂输入或识别不同类型的输入不是很好。为此,我的建议是对regular expressions 进行一些研究。 -
使用
fgets,然后使用sscanf。 -
请先用谷歌搜索什么的。你是班里第四个在 12 小时左右内提出这个问题的人。
标签: c