Menilai Ungkapan Matematik dalam C
Menilai ungkapan matematik tersuai dalam C boleh menjadi tugas yang mencabar. Membenamkan Python ke dalam C ialah satu penyelesaian yang berpotensi, tetapi terdapat pilihan yang lebih cekap dan asli.
Menggunakan Perpustakaan ExprTk
Salah satu pendekatan yang paling berkesan ialah ExprTk perpustakaan. Pustaka ini menyediakan penghurai dan penilai ekspresi yang mudah dan berkuasa. Berikut ialah contoh mudah menggunakan 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>
Atas ialah kandungan terperinci Bagaimanakah saya boleh menilai dengan cekap ungkapan matematik tersuai dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!