i自加 相当于(i++)+j
因为C/C++编译器在遇到符号时,总是一直将相邻的下一个操作符纳入当前解释的表达式中,也就是说解析字符串时总是向后寻找可能的有意义的串,除非新加入的操作符会使原本成立的表达式变成非法结果。如果你看懂了,试试解释复杂一点的 k=++i+++j++ 即 k=(++(i++))+(j++)
追问你前面说的很有道理,但后面那个k=++i+++j++;我在VS2008上编译了一下出现语法错误,提示“++需要左值“,j = ++i++;是不对的。。
追答哦 对,忘了这点(随便写的...) 确实是这样的。。