Maison > développement back-end > C++ > La comparaison chaînée de C '(4 > y > 1)' est-elle toujours évaluée comme fausse ?

La comparaison chaînée de C '(4 > y > 1)' est-elle toujours évaluée comme fausse ?

Linda Hamilton
Libérer: 2024-12-19 01:11:09
original
448 Les gens l'ont consulté

Does C  's Chained Comparison y > 1)" Toujours évaluer à faux ? " /> y > 1)" Toujours évaluer à faux ? " />

Évaluation de la validité des opérateurs logiques chaînés en C

L'instruction "(4 > y > 1)" soulève des questions sur sa validité et son évaluation en C . Examinons ces aspects et découvrons comment l'instruction se comporte en C .

Expression Évaluation

L'instruction donnée peut être décomposée en ses opérateurs logiques :

(4 > y) > 1
Copier après la connexion

C évalue les opérateurs logiques chaînés de gauche à droite. Par conséquent, l'évaluation se déroule comme suit :

  1. Comparez 4 et y : Si y est inférieur à 4, le résultat est 1 (vrai) ; sinon, c'est 0 (faux).
  2. Comparez le résultat de l'étape 1 et 1 : Puisque le résultat de la première comparaison (1 ou 0) ne peut jamais être supérieur à 1, le résultat de cette comparaison sera toujours faux (0).

Implication :

L'expression "(4 > y > 1)" est valide mais est toujours évaluée comme fausse en raison de la flux logique expliqué ci-dessus.

Exception :

Une exception à ce comportement est si y est un objet d'une classe personnalisée et que l'opérateur ">" a été surchargé pour présenter un comportement différent. Dans un tel scénario, le résultat de la comparaison peut s'écarter des règles de comparaison numérique typiques.

Instruction alternative :

Pour fournir une sémantique logique plus claire, il est recommandé de réécrire l'expression comme :

(4 > y && y > 1)
Copier après la connexion

Cette formulation évite l'ambiguïté de l'énoncé original et évalue correctement les conditions dans l'énoncé souhaité ordre logique.

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