Q: 3.3 我看到这样的代码在有些编译器上i是3,有些是4。哪个正确?

  int i = 3;
  i = i++; 


A: 没有正确的答案;这个表达式是未定义的。参见问答3.1、3.8、3.9和11.33。(也要注意i++和++i两者都不与i+1一样。如果你想增加i的值,使用i=i+1、i+=1或++i,而不是一些组合。同时参见问答3.12b。)


(This Chinese translation isn't confirmed by the author, and it isn't for profits.)

Translator : jhlicc@gmai1.c0m
Origin : http://www.c-faq.com/expr/ieqiplusplus.html