評估 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中文網其他相關文章!