我知道.
和->
运算符具有相同的优先级,那么下面的表达式是如何计算的呢?c . e -> d . f == a . b
最佳答案
当处理具有相同优先级的运算符时,请参考运算符关联性-http://en.wikipedia.org/wiki/Operator_associativity
例如,加号和减号与左侧关联,5 + 6 - 7 = (5 + 6) - 7
。
另一方面,有些运算符与右侧关联,例如赋值运算符。a = b = c
相当于a = (b = c)
。在这种情况下,b = c
返回c并允许您链接分配。与运算符优先规则一样,这些规则可能很难记住,因此当不确定时,请将所有内容放在括号中。
在你的情况下,所有的接线员都在左边,所以c.e->d.f == a.b
等于(((c.e)->d).f) == (a.b)
关于c - 同一组中运算符的C运算符优先级,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21466105/