y > 1) une expression C valide et comment est-elle évaluée ? " />
Évaluation des opérateurs logiques chaînés en C : Est-ce que (4 > y > 1) est une instruction valide ?
Une question courante en programmation C se pose lorsque évaluer des opérateurs logiques chaînés, comme dans l'expression (4 > y > 1). Cet article explorera la validité et l'évaluation de telles déclarations, en fournissant un aperçu de la façon dont. les opérateurs logiques fonctionnent en C.
Syntaxe et analyse
L'expression (4 > y > 1) est analysée comme ((4 > y) > 1). Cela signifie que les opérateurs de comparaison > sont évalués de gauche à droite, ce qui donne une valeur logique de 0 (faux) ou 1 (vrai) pour chaque comparaison.
Évaluation
Dans l'expression donnée, 4 > y est supérieur ou égal à 4. Le résultat de cette comparaison est ensuite comparé à 1 avec le deuxième opérateur > 0 ou 1 n'est jamais supérieur à 1, la
instruction entière renverra toujours false. Cependant, il existe une exception à cette règle :
Surcharge de l'opérateur. Si y est une instance d'une classe personnalisée et que > L'opérateur a été surchargé pour effectuer une comparaison non standard, le comportement de l'expression peut alors changer. Par exemple, surcharger le > L'opérateur renvoyant un objet mytype entraînerait l'échec de la compilation de l'instruction.
Expression alternativePour rendre l'expression plus intuitive, elle peut être réécrite comme :
Cette expression utilise l'opérateur logique ET (&&) pour combiner deux comparaisons distinctes, ce qui donne un résultat vrai si les deux comparaisons sont vraies. Contrairement à l'expression originale, cette expression réécrite permet une compréhension plus claire de l'évaluation prévue.(4 > y) && (y > 1)
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!