Okay danke ich verstehe das jetzt so halb ^^. Aber das erklärt zumindest warum im Debugger bei der ++a '2' steht.
Heißt dass, weil a++ zuerst ausgewertet wird und es am Anfang ja den Wert 0 hat, dieser Wert erst dem x (ich weiß noch nicht wirklich, da das erst noch mit dem rechten Ausdruck verrechnet werden muss, aber so bildlich vorgestellt): wird dieser Wert 0 erstmal beseite gelegt, und die 1 bleibt da. Und weil ++a zuerst ausgewertet wird, also als 1+a. Wird dann die 1 von dem a++ und die 1 vom ++a zu 2 (wie es im Debugger steht) und von der 0 (a++, hat im Debugger den Wert 0) abgezogen. Und dann ergibt sich dadurch die -2.
Zumindest verstehe ich sonst nicht warum ++a im Debugger den Wert 2 am Anfang hat. (die a++ ist logisch, dass das am Anfang 0 ist und danach erst zu 2 wird.)
Im Debugger steht, nach Abschluss der Rechnung (also schon bei der Ausgabe in der Konsole), wenn man über die Variablen hovered, dass a++ am Ende der Rechnung, den Wert 2 hat und ++a den Wert 2. Aber wie gesagt, erst ganz am Schluss.
Danke für die Erklärung !