Ein wenig Leerraum könnte Ihnen helfen, dies zu verdeutlichen.
Wenn Sie schreiben i=+1
Was tatsächlich geschieht, ist i = +1
. Der Grund dafür ist, dass es in C keinen =+ Operator gibt. =
wird als eigener Operator behandelt, und die +
ist ein unärer Operator, der auf die Konstante 1
. Die Auswertung dieser Anweisung beginnt also auf der rechten Seite der =
Betreiber. +1
wird bewertet zu 1
und die =
Operator weist diesen Wert dann der Variablen i
.
+=
ist in C ein eigener Operator, der bedeutet "addiere den Wert des Ausdrucks auf der rechten Seite dieses Operators zu der Variablen auf der linken Seite und weise ihn dieser Variablen zu, also etwas wie das Folgende:
i = 3;
i += 2;
würde auswerten zu 5
weil die +=
wird die rechte Seite des Operators ausgewertet (in diesem Fall 2
und fügt es zur linken Seite hinzu (in diesem Fall hat i den Wert 3) und weist es der Variablen auf der linken Seite zu. Im Wesentlichen wird daraus i = (2 + 3)
. Daher ist die Variable i
hat einen Endwert von 5
.
Wenn Sie nur den Wert hinzufügen 1
in eine Integer-Variable zu übertragen, können Sie die ++
stattdessen den Operator. Das Hinzufügen dieses Operators nach einer Variablen (d.h. i++
) wird die aktuelle Codezeile ausgeführt antes de Inkrementierung der Variable um eins. Das Voranstellen des Operators vor die Variable bewirkt, dass die Anweisung ausgeführt wird nach wird die Variable inkrementiert.
z.B.:
i = 5;
j = i++;
führt zu i = 6
und "j = 5", während
i = 5;
j = ++i;
führt zu i = 6
y j = 6
.
Ähnlich verhält es sich mit der --
Operator kann verwendet werden, um die Variable um eins zu dekrementieren (verringern), ähnlich wie bei ++
wird die Variable um eins erhöht. Für beide Operatoren gelten die gleichen Regeln bezüglich der Positionierung des Operators vor oder nach der Variablen.
Ich hoffe, das klärt die Sache ein wenig auf.