a[b]
相当于
*(a + b)
,所以…a[b & c]
如果
&
的运算符优先级低于+
,则会导致*(a + b & c)
或*(a + (b & c))
? 最佳答案
C Standard, § 6.5.2.1, Array Subscripting表示:
下标运算符[]
的定义是E1[E2]
与(*((E1)+(E2)))
相同。
注意E2
周围的括号。后一个表达式(*(a + (b & c))
)是正确的结果。
a[b]
*(a + b)
,所以…a[b & c]
&
的运算符优先级低于+
,则会导致*(a + b & c)
或*(a + (b & c))
? 最佳答案
C Standard, § 6.5.2.1, Array Subscripting表示:
下标运算符[]
的定义是E1[E2]
与(*((E1)+(E2)))
相同。
注意E2
周围的括号。后一个表达式(*(a + (b & c))
)是正确的结果。