Bewertung des folgenden Ausdrucks

Das folgende Code-Snippet:

int i=-3,j=2,k=0,m;

m=++i && ++j || ++k;

kann mit zwei Konzepten bewertet werden, glaube ich:

1.Seit ++ Operator hat eine höhere Priorität als die logischen Operatoren, daher werden zuerst alle Inkrementoperatoren ausgewertet, dann hat && eine höhere Priorität als || wird berechnet. In diesem Prozess wird k inkrementiert.

2. Der erste Operator && wird ausgewertet. Dafür werden ++ i und ++ j berechnet. Da das Ergebnis des Operators && 1 ist, muss ++ k nicht ausgewertet werden. So wird k nicht inkrementiert.

Wenn ich es auf einem System versuche, beweist das Ergebnis, dass 2 richtig und 1 falsch ist. Wieso ist es so?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage