【发布时间】:2016-01-26 14:57:11
【问题描述】:
我正在用 C++ 编写一个程序,显示一个表达式(例如 98+56*(4+7) < 7-6*6)是真还是假。这个表达式将被视为用户的输入。
有什么功能可以用来做这个吗?
【问题讨论】:
-
没有。 C++ 中没有“eval”函数。
-
@Adela 试试A C++ expression parser
标签: c++
我正在用 C++ 编写一个程序,显示一个表达式(例如 98+56*(4+7) < 7-6*6)是真还是假。这个表达式将被视为用户的输入。
有什么功能可以用来做这个吗?
【问题讨论】:
标签: c++
您需要数学表达式求值器。
你可以试试这个库:https://fastmathparser.codeplex.com/
在链接中,您可以找到示例代码。
您可以在此链接中找到算法:Evaluating arithmetic expressions from string in C++
【讨论】:
不,但如果您具备相当的编程能力,则实现调车场算法相当容易。
我知道只有链接的答案令人厌恶,但这里是 link on wikipedia(不太可能很快消失),实际上相当不错。
【讨论】: