Maison > développement back-end > C++ > Comment puis-je évaluer des expressions arithmétiques à partir de chaînes en C à l'aide d'ExprTk ?

Comment puis-je évaluer des expressions arithmétiques à partir de chaînes en C à l'aide d'ExprTk ?

Mary-Kate Olsen
Libérer: 2024-12-20 13:15:10
original
360 Les gens l'ont consulté

How Can I Evaluate Arithmetic Expressions from Strings in C   Using ExprTk?

Évaluation d'expressions arithmétiques à partir d'une chaîne en C

La tâche d'évaluation d'expressions arithmétiques simples à partir d'une chaîne peut être rencontrée dans divers contextes de programmation. Lors de l'exécution de l'évaluation, il est important de respecter l'ordre mathématique des opérations, comme la priorité de la multiplication sur l'addition.

Une solution largement recommandée consiste à exploiter la bibliothèque ExprTk :

Bibliothèque ExprTk

ExprTk est une bibliothèque légère d'en-tête uniquement C qui simplifie l'évaluation des expressions mathématiques à partir de chaînes. Voici ses principaux avantages :

  • Simplicité : Il fournit une interface simple avec un minimum de dépendances.
  • Fonctionnalité : Il prend en charge l'arithmétique de base opérations ( , -, *, /) et parenthèses.
  • Contrôle : Permet la modification dynamique des valeurs des variables dans l'expression.

Utilisation :

Pour utiliser ExprTk, suivez ces étapes :

  1. Inclure "exprtk.hpp" dans votre code source.
  2. Construisez un objet analyseur ExprTk.
  3. Analysez la chaîne d'expression dans l'analyseur.
  4. Évaluez l'expression analysée pour obtenir le résultat.

Exemple :

#include <exprtk.hpp>
using namespace exprtk;

int main() {
  // Create a parser
  parser<double> parser;

  // Parse the expression string
  parser.compile("3*2+4*1+(4+9)*6");

  // Evaluate the expression
  double result = parser.value();

  // Output the result
  std::cout << result << std::endl;
}
Copier après la connexion

Ce code affichera le résultat correct : 87. ExprTk permet également de modifier les valeurs des variables dans l'expression, fournissant flexibilité et évaluation dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal