Evaluación de la siguiente expresión.

El siguiente fragmento de código:

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

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

Se puede evaluar utilizando dos conceptos, creo:

1.Como el operador ++ tiene mayor prioridad que los operadores lógicos, por lo que primero se evaluarán todos los operadores de incremento, luego && tendrá mayor prioridad que || será computado. En este proceso, k será incrementado.

2. Se evaluará el primer operador de &&. Para este ++ i y ++ j se computará. Dado que el resultado del operador de && es 1, no hay necesidad de evaluar el ++ k.Así que k no se incrementará.

Cuando lo intento en un sistema, el resultado demuestra que el razonamiento 2 es correcto y 1 equivocado. ¿Por que es esto entonces?

Respuestas a la pregunta(3)

Su respuesta a la pregunta