Freigeben über


C-Sequenzpunkte

In nachfolgendem „Sequenzpunkte“ der Wert eines Objekts können durch einen Ausdruck nur einmal geändert werden.Die Programmiersprache C definiert die folgenden Sequenzpunkte:

  • Linker Operand des logischen Operators AND (&&).Der linke Operand des logischen Operators AND wird vollständig und alle Nebeneffekte ausgewertet, bevor die abgeschlossen wurden, fortgesetzt wird.Wenn der linke Operand false (0) ergibt, wird der andere Operand nicht ausgewertet.

  • Linker Operand des logischen OR-Operators (||).Der linke Operand eines logischen OR-Operators vollständig ist und alle Nebeneffekte ausgewertet, bevor die abgeschlossen wurden, fortgesetzt wird.Wenn der linke Operand true ergibt (Ungleich 0 (null)), wird der andere Operand nicht ausgewertet.

  • Linker Operand des Operators Komma.Der linke Operand des Operators Komma vollständig ist und alle Nebeneffekte ausgewertet, bevor die abgeschlossen wurden, fortgesetzt wird.Beide Operanden des Operators Komma werden immer ausgewertet.Beachten Sie, dass der Operator Komma in einem Funktionsaufruf keiner Reihenfolge der Auswertung gewährleistet.

  • Aufrufoperator.Alle Argumente an eine Funktion werden, und alle Nebeneffekte ausgewertet, bevor Eintrag für die Funktion abgeschlossen wurden.Die Reihenfolge der Auswertung unter den Argumenten angegeben wird.

  • Der erste Operand des bedingten Operators.Der erste Operand des bedingten Operators ist vollständig und alle Nebeneffekte ausgewertet, bevor die abgeschlossen wurden, fortgesetzt wird.

  • Das Ende eines vollständigen Initialisierungsausdrucks (d. h. ein Ausdruck, der nicht Teil eines anderen Ausdrucks wie vom Ende einer Initialisierung in einer Deklarationsanweisung ist).

  • Der Ausdruck in eine Ausdrucksanweisung.Ausdrucks Anweisungen bestehen aus einem optionalen Ausdruck, der ein Semikolon (;) folgt.Der Ausdruck wird ausgewertet und Nebeneffekte für die ein Sequenzpunkt, welche dieser Auswertung erfolgreich war oder nicht.

  • Der steuernde Ausdruck in einer Anweisung der Auswahl (If oder switch).Der Ausdruck ist vollständig und alle vollständigen Nebeneffekte ausgewertet, bevor das codeabhängige für die Auswahl ausgeführt wird.

  • Der steuernde Ausdruck aus while oder Sie führen-Anweisung.Der Ausdruck ist vollständig und alle vollständigen Nebeneffekte ausgewertet, bevor alle Anweisungen in der nächsten Iteration while oder Sie führen Schleife ausgeführt werden.

  • Jede der drei Ausdrücken einer nach-Anweisung.Die Begriffe sind vollständig und alle vollständigen Nebeneffekte ausgewertet, bevor alle Anweisungen nach in der nächsten Iteration der Schleife ausgeführt werden.

  • Der Ausdruck in einer return-Anweisung.Der Ausdruck ist vollständig und alle vollständigen Nebeneffekte ausgewertet, bevor die Steuerung an die aufrufende Funktion zurückgegeben wird.

Siehe auch

Konzepte

Ausdrucksauswertung (C)