【发布时间】:2014-01-02 15:53:50
【问题描述】:
由于 && 的优先级比 || 的优先级更多(这是合适的形容词吗?),所以我写了这样的内容:
if (a || b && c ){ ....
我猜程序会先找到b && c,我们就叫它d,然后再找到a || d吧?
我希望程序先检查“a”语句,然后检查是否错误;检查 b 和 c。这样的事情可能吗?
【问题讨论】:
-
操作的优先级和顺序确实是不同的东西。
-
好吧,我认为优先级是我正在寻找的单词,我的英语不是很好。对此感到抱歉
-
简而言之,您不能在 C 中更改运算符的优先级 — 在 C++ 中也不能这样做,即使您可以为您定义的类定义运算符。您可以控制评估的顺序(在某种程度上,使用某些运算符,尤其是
&&、||、?:和,)。碰巧的是,您所写的将做您想做的;我想把它写成if (a || (b && c)),让其他读者清楚我想要什么。
标签: c operators operator-precedence