This is a very old question, however, today I read on this and the article emphasizes that: "It is important to note that there is no specified precedence for the operation of changing a variable into a value". Here is an example given in the article to demonstrate the claim:
float x, result;
x = 1;
result = x / ++x;
"Depending on which compiler you are using, the variable result can either be 1.0 or 0.5" -->> I don't understand clearly this. Any comments?