为什么左值作为递增操作数?

时间:2014-03-05 12:50:56

标签: c post-increment pre-increment

我完全了解这些优先级和关联性,但我无法正确地为此表达式排序错误。

c=b|i+++++j;

1 个答案:

答案 0 :(得分:1)

阅读Maximum Munch Principle

  
    

“maximal munch”或“longongest match”是在创建某个构造时应该消耗尽可能多的可用输入的原则。

  

每个编译器都有一个tokenizer,它是一个将源文件解析为不同标记(关键字,运算符,标识符等)的组件。其中一个tokenizer的规则称为“maximal munch”,它表示tokenizer应该继续读取源文件中的字符,直到再添加一个字符导致当前令牌停止有意义。

++(后缀)不会返回lvalue,但要求其操作数为lvalue