假设a=1,
那么(++a)+=(a++)之后,a=?
这个表达式虽然奇怪,但是是合法的。因为c++认为++a是一个左值,最后a=5。
但是(a++)+=(++a)呢?
这个是非法的,因为a++不是一个左值。
本文探讨了C++中自增运算符的使用及顺序问题,并解释了(++a)+=(a++)与(a++)+=(++a)两种表达式的合法性和计算结果。前者a最终值为5,而后者因a++不是左值而非法。
假设a=1,
那么(++a)+=(a++)之后,a=?
这个表达式虽然奇怪,但是是合法的。因为c++认为++a是一个左值,最后a=5。
但是(a++)+=(++a)呢?
这个是非法的,因为a++不是一个左值。
1085

被折叠的 条评论
为什么被折叠?