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
Freigeben: 2024-12-25 16:49:09
Original
233 Leute haben es durchsucht

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren
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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage