Inkrement und Dekrement

...komplette Frage anzeigen

2 Antworten

So kannst dus dir leicht merken:

a = 2 * ++a; 

entspricht

a = a + 1;  //Inkrementierung
a = 2 * a;  //Verwendung

und

a = 2 * a++; 

entspricht

a = 2 * a; //Verwendung
a = a + 1;  //Inkrementierung

Steht das ++ bzw. -- VOR der Variable wird VOR der Verwendung erhöht/verringert, steht sie NACH der Variable wird sie NACH der Verwendung erhöht/verringert.

Damit kann man sich natürlich auch einen Spaß machen:

a+=+(a++)+(++a);

Habe ich die Antwort schon selber gefunden? Wäre nett wenn trotzdem jmd Antwortet und sagt ob es richtig ist.

int b = 5;

b = 1- --b;

Man rechnet erst 1-5, dass ergibt -4, weil jetzt "--4" steht und der Wert durch das Dekrement vorher verkleinert wird, erhält man das Ergebnis -3.

So ähnlich. --b ist gleich (b - 1). Nach dem Einsetzen der Variablen sieht das ausgeschrieben so aus:

b = 1 - (5 - 1);

--b ist übrigens nicht mit b-- zu verwechseln. :)

1

Die Aussage "Man rechnet erst 1-5" stimmt nicht.

Der Präfix-Operator verändert die Variable vor der Auswertung des Ausdrucks. Also 1 - 4 weil i = 4

Beim Postfix-Operator b = 1- b--; wird zuerst der Ausdruck ausgerechnet und dann dekrementiert. Resultat -4.

Also 1 - 5 weil i = 5

1

Was möchtest Du wissen?