【问题标题】:Why lvalue required as increment operand?为什么需要左值作为增量操作数?
【发布时间】:2014-04-07 13:03:45
【问题描述】:

我完全知道这些优先级和关联性,但我无法为这个表达式正确排序错误。

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

【问题讨论】:

  • 别做怪事,大家会讨厌你的。
  • 对不起,我没有做任何奇怪的事情,只是经历了一些问题。只有从错误中我们才能准确地学习这些概念。 :)
  • 说得好:)我只是在开玩笑。

标签: c post-increment pre-increment


【解决方案1】:

阅读Maximum Munch Principle

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


每个编译器都有一个标记器,它是将源文件解析为不同标记(关键字、运算符、标识符等)的组件。分词器的规则之一称为“最大咀嚼”,它表示分词器应继续从源文件中读取字符,直到再添加一个字符导致当前令牌不再有意义。

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

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2013-06-05
    • 2020-10-06
    • 2021-05-11
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多