【发布时间】:2015-11-12 18:14:09
【问题描述】:
输入看起来像这样:
AND 1 0 2
OR 3 1 4
XOR 5 1 3
ENEE140 10 7 8 9
NOT 6 11
每行的第一个参数是逻辑运算符,后面的数字是门。我想知道读取这些参数的最佳方式是什么,因为我不能只使用scanf("%s %d %d %d"),因为某些运算符 (ENEE140) 有超过 3 个整数参数(它有 4 个)。
【问题讨论】:
-
将整行读取为字符串,然后从中读取操作码和操作数(这是一个简单的解析案例)。
-
查看
strtok*函数来拆分字符串。 -
你可以有一个基于第一个字符的
switch case和 3 个不同的scanf呼叫扫描 2 个或 3 个或 4 个数字 -
谢谢大家。我忘了提到我们的教授不会让我们在 string.h 库中使用任何东西,因为这是一个介绍类,他不希望我们中的任何人拥有任何“优势”。开关盒听起来可行,所以我会尝试一下。非常感谢!
-
你还是应该使用字符串解析的方法。编写这些字符串操作是学习编程的好方法。
标签: c parameters logic scanf