a[b]
等同于*(a + b)
,所以...
a[b & c]
如果 &
的运算符优先级低于 +
,这会导致 *(a + b & c)
还是 *(a + (b & c))
?
最佳答案
C Standard, § 6.5.2.1, Array Subscripting说:
The definition of the subscript operator
[]
is thatE1[E2]
is identical to(*((E1)+(E2)))
注意 E2
周围的括号。后一个表达式 (*(a + (b & c))
) 是正确的结果。
关于c - 使用算术索引数组而不是显式/单个值会导致问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54713918/