评估 C 中的数学表达式
评估 C 中的自定义数学表达式可能是一项具有挑战性的任务。将 Python 嵌入到 C 中是一种潜在的解决方案,但还有更高效和原生的选项可用。
利用 ExprTk 库
最有效的方法之一是 ExprTk图书馆。该库提供了方便且强大的表达式解析器和评估器。这是一个使用 ExprTk 的简单示例:
<code class="cpp">#include <cstdio> #include <string> #include "exprtk.hpp" int main() { // Define expression types typedef exprtk::expression<double> expression_t; typedef exprtk::parser<double> parser_t; // Expression string std::string expression_string = "3 + sqrt(5) + pow(3,2) + log(5)"; // Expression and parser objects expression_t expression; parser_t parser; // Compile expression if (parser.compile(expression_string, expression)) { // Evaluate and print result double result = expression.value(); printf("Result: %19.15\n", result); } else { printf("Error in expression\n."); } return 0; }</code>
以上是如何有效地计算 C 中的自定义数学表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!