good question
apparantly the ++ gets lost when you assign it to the same variable.
If you make an extra variable, j for instance and then say
j=i++;
j would be 10 and i would be 11 when printing after that.
Apparantly in i=i++; the ++ gets skipped after assigning i to i.
Having said that, i=i++ isn't what you want to be coding.
If you need to increment i just say i++; not i=i++;
or possibly i=i+1; if you can't live without an = sign.
Perhaps someone can explain more technically what happens during i+i++; but as far as I'm concerned, the bottom line is that you shouldn't write your code like that anyway.