Avaliação da seguinte expressão
O trecho de código a seguir:
int i=-3,j=2,k=0,m;
m=++i && ++j || ++k;
pode ser avaliado usando dois conceitos, eu acredito:
1.Since ++ operador tem maior precedência que os operadores lógicos, então primeiro todos os operadores de incremento serão avaliados, então && tendo precedência maior que || será computado. Neste processo, k será incrementado.
2.Primeiro && operador será avaliado.Para este ++ i e ++ j será computado.Uma vez que o resultado do operador && é 1, não há necessidade de avaliar o ++ k.So k não será incrementado.
Quando eu tento em um sistema, o resultado prova que o raciocínio 2 está correto e 1 está errado. Por que é tão?