Heim > häufiges Problem > Welcher Operator hat die niedrigste Priorität?

Welcher Operator hat die niedrigste Priorität?

烟雨青岚
Freigeben: 2020-07-06 10:17:53
Original
27618 Leute haben es durchsucht

Der Operator mit der niedrigsten Priorität ist: der Kommaoperator. Die Reihenfolge, in der Ausdrücke kombiniert werden, hängt von den Prioritäten der verschiedenen Operatoren im Ausdruck ab; Operatoren mit höheren Prioritäten werden zuerst kombiniert, und Operatoren mit niedrigeren Prioritäten werden später kombiniert.

Welcher Operator hat die niedrigste Priorität?

Der Operator mit der niedrigsten Priorität ist: der Kommaoperator.

Ein Ausdruck kann mehrere Datenobjekte unterschiedlichen Datentyps enthalten, die durch unterschiedliche Operatoren verbunden sind. Da der Ausdruck mehrere Operationen hat, können unterschiedliche Kombinationsreihenfolgen zu unterschiedlichen Ergebnissen führen Da ein Ausdruck mehrere Operationen enthält, müssen diese in einer bestimmten Reihenfolge kombiniert werden, um die Rationalität der Operationen sowie die Richtigkeit und Einzigartigkeit der Ergebnisse sicherzustellen.

Die Prioritäten nehmen von oben nach unten ab, die Oberseite hat die höchste Priorität und der Kommaoperator hat die niedrigste Priorität. Die Reihenfolge, in der ein Ausdruck kombiniert wird, hängt von der Priorität der verschiedenen Operatoren im Ausdruck ab. Operatoren mit höherer Priorität werden zuerst kombiniert, und Operatoren mit niedrigerer Priorität werden später kombiniert. Operatoren in derselben Zeile haben dieselbe Priorität.

Wissenserweiterung

Priorität

Priorität hat nichts mit der Reihenfolge der Bewertung zu tun. Beispiel: a+b && b*c, obwohl * die höchste Priorität hat, ist die Auswertungsreihenfolge dieses Ausdrucks von links nach rechts.

Die Prioritäten nehmen von oben nach unten ab, wobei die oberste die höchste und der Kommaoperator die niedrigste Priorität hat.

Bei gleicher Priorität entsprechend der Assoziativität kombinieren. Die Assoziativität der meisten Operatoren verläuft von links nach rechts. Es handelt sich um unäre Operatoren, bedingte Operatoren und Zuweisungsoperatoren.

Grundlegende Prioritäten müssen beachtet werden:

Zeiger sind optimal und monokulare Operationen sind besser als binokulare Operationen. Zum Beispiel Plus- und Minuszeichen.

Zuerst arithmetische Operationen, dann Verschiebungsoperationen und schließlich Bitoperationen. Bitte achten Sie besonders auf: 1 << 3 + 2 & 7 entspricht (1 << (3 + 2))&7.

Die logischen Operationen werden schließlich kombiniert.

Operatoren

Operatoren sind spezielle Funktionen, die einen oder mehrere Operanden annehmen und den entsprechenden Wert zurückgeben. Operanden sind Werte, die als Eingabe für einen Operator verwendet werden, normalerweise Literale, Variablen oder Ausdrücke. Operatoren können unär, binär oder ternär sein und haben einen Operanden, binäre Operatoren haben zwei Operanden und ternäre Operatoren haben drei Operanden.

Assoziativität

Wenn die Priorität der Operatoren auf beiden Seiten eines Operanden gleich ist, wird die Reihenfolge der Operation des Ausdrucks durch die Assoziativität des Operators bestimmt. Das Konzept der Assoziativität findet sich in anderen Hochsprachen nicht. Dies ist eines der Merkmale der C-Sprache.

In der Standarddokumentation der C-Sprache wird die Assoziativität von Operatoren nicht sehr klar erklärt. Eine perfekte Antwort lautet: Es ist der Schiedsrichter, der entscheidet, welcher Operator zuerst ausgeführt wird, wenn mehrere Operatoren die gleiche Priorität haben. Die Sprache C spezifiziert außerdem 34 Operatoren mit unterschiedlicher Assoziativität.

Die assoziative Richtung der meisten Operatoren ist „von links nach rechts“, das heißt: zuerst links und dann rechts, auch „Linksassoziativität“ genannt, zum Beispiel a-b + c, es gibt zwei – und + in Der Ausdruck Operatoren mit derselben Priorität werden entsprechend der Kombinationsrichtung nach links und dann nach rechts zuerst um das Minuszeichen herum kombiniert, um die Operation von a-b auszuführen, und dann um das Pluszeichen herum kombiniert werden, um die Operation (a-b) + c abzuschließen.

Zusätzlich zur linken Assoziativität verfügt die C-Sprache über drei Arten von Operatoren, deren Kombinationsrichtung von rechts nach links verläuft und auch als „rechte Assoziativität“ bezeichnet wird, nämlich: unäre Operatoren, bedingte Operatoren und Zuweisungsoperatoren.

Es ist wichtig zu betonen, dass es sich um zwei benachbarte Operatoren mit derselben Priorität handelt, unabhängig davon, ob es sich um eine linke oder eine rechte Assoziativität handelt (nicht der Operand im Ausdruck). Der Operator bestimmt den linken und rechten Referenzpunkt von , konstruieren Sie zunächst die Operation mit dem vorherigen Operator (dh dem Operator auf der linken Seite), der linksassoziativ ist, und umgekehrt, er ist rechtsassoziativ.

Weitere Informationen zu diesem Thema finden Sie auf der PHP-Website für Chinesisch! !

Das obige ist der detaillierte Inhalt vonWelcher Operator hat die niedrigste Priorität?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage