Bestimmen Sie die Reihenfolge der Vorgänge in C ++

Alle Betreiber führen eine definierte Funktion in C ++. Darüber hinaus hat jeder Betreiber eine Vorrang - einer bestimmten Reihenfolge, in der die Ausdrücke ausgewertet werden. Betrachten wir zum Beispiel, wie Vorrang wirkt sich auf das folgende Problem zu lösen:

int var = 2 * 3 + 1-

Wenn der Zusatz vor der Multiplikation durchgeführt wird, ist der Wert des Ausdrucks 2 mal 4 oder 8. Wenn die Multiplikation zuerst durchgeführt wird, ist der Wert 6 plus 1 oder 7.

Die Priorität der Operatoren bestimmt, wer zuerst geht. Das Konzept der Vorrang ist auch in Arithmetik. C ++ hält sich an die gemeinsamen arithmetischen Vorrang. Daher hat die Multiplikation eine höhere Priorität als die Addition, so das Ergebnis ist 7.

Also, was passiert, wenn zwei Operatoren mit derselben Rang im selben Ausdruck erscheinen? Beispielsweise:

int var = 8/4 / 2-

Wenn Betreiber von gleicher Priorität in demselben Ausdruck erscheinen, werden sie von links nach rechts (die gleiche Regel in der Arithmetik angewandt) bewertet. Somit wird in diesem Code-Schnipsel, var ist gleich 8 geteilt durch 4 (die 2) mit 2 (davon 1) unterteilt.

Der Ausdruck

x / 100 + 32

teilt x 100 vor dem Hinzufügen von 32. Aber was, wenn der Programmierer zu teilen wollte x durch 100 plus 32? Der Programmierer kann die Priorität ändern, indem Ausdrücke zusammen in Klammern (Schatten der Algebra!) Zu bündeln, wie folgt:

x / (100 + 32)

Dieser Ausdruck hat die gleiche Wirkung wie Dividieren x von 132. Der ursprüngliche Ausdruck

x / 100 + 32

ist identisch mit dem Ausdruck

(X / 100) + 32

Menü