简单的解析问题
可能重复:
谁能解释这些未定义的行为(i = i ++ + ++ i,i = i ++等…)
未定义的行为和序列点 (C ++ FAQ条目)
在C和C ++中,如何解析表达式x+++++y
? 作为x++ ++ +y
还是x++ + ++y
?
x+++++y
被解析为x ++ ++ + y
而不是x ++ + ++ y
。 根据Maximal Munch原则, “ 令牌化器应该继续从源文件中读取字符,直到再添加一个字符导致当前令牌停止有意义 ”
x++ ++ +y
不应该编译(在C和C ++中),因为后增量运算符++
需要lvalue
作为参数并返回rvalue
。