从来没有想到数组竟然可以这样用,a[5]==5[a] 是true。

因为 a[5] 实际代表 *(a+5), 而 5[a] 代表 *(5+a)。所以显然两者是相等的。

也就是说*({integer location of}a {operator}+ {integer}5)= *({integer}5 {operator}+ {integer location of}a)

进而可以推出 5[&(a[1])] 实际上代表 a[6].