Hallo seth,
Eigentlich ist 15.7.1 Evaluate Left-Hand Operand First relevant oder wem das noch zu unspezifisch ist 15.26.1 Simple Assignment Operator =.
In diesem Abschnitt steht explizit, dass der Unterausdruck einer Arrayreferenz zuerst ausgewertet wird.
Deine Folgerungen daraus sind allerdings richtig. Die Tatsache, dass man, um den Code zu verstehen und zu korrigieren erst einmal die Sprachspezifikation im Detail lesen muss, bestätigt mich allerdings darin, dass man das so nicht machen sollte.
Grüße
Daniel