Ocena następującego wyrażenia

Poniższy fragment kodu:

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

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

można ocenić za pomocą dwóch pojęć, wierzę:

1. Operatorince ++ ma wyższy priorytet niż operatory logiczne, więc najpierw zostaną obliczone wszystkie operatory przyrostowe, a następnie && będą miały wyższy priorytet niż || zostanie obliczony. W tym procesie k zostanie zwiększone.

2. Zostanie obliczony operator pierwszego i pierwszego. W tym celu obliczone zostaną ++ i oraz ++ j. Ponieważ wynikiem działania operatora && jest 1, nie ma potrzeby oceniania ++ k.So k nie będzie zwiększane.

Kiedy próbuję w systemie, wynik dowodzi, że rozumowanie 2 jest poprawne, a 1 błędne. Dlaczego tak jest?

questionAnswers(3)

yourAnswerToTheQuestion