No puedo entender algunas oraciones en C99

En C99 6.5 dice:

Entre el punto de secuencia anterior y el siguiente, un objeto tendrá su valor almacenado modificado a lo sumo una vez por la evaluación de una expresión. Además, el valor anterior se leerá solo para determinar el valor que se almacenará

¿Qué significa "Además, el valor anterior debe leerse solo para determinar el valor que se almacenará" significa? En c99, porquea[i++] = 1 es un comportamiento indefinido?