Heim >Backend-Entwicklung >C++ >Wird (4 > y > 1) in C immer als falsch ausgewertet?

Wird (4 > y > 1) in C immer als falsch ausgewertet?

Barbara Streisand
Barbara StreisandOriginal
2024-12-25 16:49:09218Durchsuche

Does (4 > y > 1) In C immer als falsch auswerten?
y > 1) In C immer als falsch auswerten? " />

Bewertung der Gültigkeit von (4 > y > 1) in C

In C ist der Ausdruck (4 > y > 1) kann Fragen zu seiner Gültigkeit und Bewertung aufwerfen.

Um sein Verhalten zu verstehen, ist es wichtig zu wissen, dass verkettete Vergleichsoperatoren wie (4 > y > 1), werden als verschachtelte Vergleiche von links nach rechts analysiert:

(4 > y > 1)

Die Vergleichsoperatoren (> ; und <) werden in der Reihenfolge des Ausdrucks ausgewertet, was bedeutet, dass das Ergebnis von (4 > y) entweder 0 (falsch) oder 1 (wahr) ist. abhängig vom Vergleich.

((4 > y) > 1)
Dann wird das Ergebnis von (4 > y) unter Verwendung des Größer-als-Operators (>) mit 1 verglichen. Da jedoch das Ergebnis von (4 > y) ist immer entweder 0 oder 1, es wird nie größer als 1 sein. Daher gibt die gesamte Anweisung immer false zurück.

Ausnahme für Operator Überladung:

Es gibt jedoch eine Ausnahme von diesem Verhalten. Wenn y ein Objekt einer Klasse mit einem überladenen Größer-als-Operator (>) ist, kann sich die Auswertung ändern. In solchen Fällen bestimmt die Implementierung des überladenen Operators das Verhalten des Ausdrucks.

Beispiel:

Betrachten Sie den folgenden Code:

In In diesem Beispiel wird der benutzerdefinierte Operator „operator>“ verwendet. dafür wird die Klasse mytype verwendet, was je nach Klassenimplementierung zu unterschiedlichem Verhalten führen kann.

Das obige ist der detaillierte Inhalt vonWird (4 > y > 1) in C immer als falsch ausgewertet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn