Simple parsing question [duplicate]
Possible Duplicate:
Could anyone explain these undefined behaviors (i = i++ + ++i , i = i++, etc…) Undefined Behavior and Sequence Points (C++ FAQ entry)
In C and C++ how is the expression x+++++y
parsed? As x++ ++ +y
or as x++ + ++y
?
x+++++y
is parsed as x ++ ++ + y
and not as x ++ + ++ y
. According to Maximal Munch principle "the tokenizer should keep reading characters from the source file until adding one more character causes the current token to stop making sense"
x++ ++ +y
should not compile(In C and C++) because the post-increment operator ++
requires an lvalue
as an argument and returns an rvalue
.
精彩评论