【发布时间】:2011-03-11 19:19:07
【问题描述】:
有一个问题的答案为什么
(A%2==0)?A=0:A=1 给出错误。
我不明白我们什么时候使用(优先级和关联性)并且我们
使用 C 语法来解析表达式 ?
【问题讨论】:
标签: c conditional operator-keyword
有一个问题的答案为什么
(A%2==0)?A=0:A=1 给出错误。
我不明白我们什么时候使用(优先级和关联性)并且我们
使用 C 语法来解析表达式 ?
【问题讨论】:
标签: c conditional operator-keyword
始终使用语法来解析表达式。
优先级和关联性源自语法,它们不是规则。许多优先表过于简化,在一些晦涩的极端情况下不起作用。
【讨论】:
?: 放在某处的表通常都会产生误导,因为所有三个操作数都有不同的表达式类型。您可以在中间有一个 assignment-expression,但不能在结尾(在 C 中;不是 C++)。