Operatorverhalten in C, C, Java und C#
In C, C, Java und C# Vor- und Nachinkrementoperatoren Erhöhen Sie den Wert einer Variablen um eins. Es gibt jedoch subtile Unterschiede in ihrem Verhalten zwischen den Sprachen.
Java und C#
In Java und C# werden Ausdrücke von links nach rechts ausgewertet, und die Nebenwirkungen werden berücksichtigt der Bedienerbewertung sind sofort sichtbar. Beispielsweise wird im Ausdruck a a der Wert von a zunächst auf 3 erhöht und dann in der Addition verwendet, was zu einem Endwert von 7 führt. Ebenso wird im Ausdruck a a a der Wert von a zunächst auf 4 erhöht und dann in der Addition verwendet, dann auf 5 erhöht und schließlich erneut in der Addition verwendet, was zu einem Endwert von 16 führt.
C
In C die Reihenfolge Die Auswertung von Unterausdrücken ist nicht angegeben. Das bedeutet, dass der Compiler die Unterausdrücke in beliebiger Reihenfolge auswerten kann. Darüber hinaus ist das zweimalige Ändern desselben Objekts ohne dazwischen liegenden Sequenzpunkt ein undefiniertes Verhalten. Das bedeutet, dass das Verhalten der Ausdrücke in der Tabelle undefiniert ist und je nach verwendetem Compiler und Optimierungseinstellungen variieren kann.
Das obige ist der detaillierte Inhalt vonWie verhalten sich Inkrementoperatoren in C, C, Java und C# unterschiedlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!