Q: I've experimented with the code
int i = 3; i = i++;on several compilers. Some gave i the value 3, and some gave 4. Which compiler is correct?
A: There is no correct answer; the expression is undefined. See questions 3.1, 3.8, 3.9, and 11.33. (Also, note that neither i++ nor ++i is the same as i+1. If you want to increment i, use i=i+1, i+=1, i++, or ++i, not some combination. See also question 3.12b.)