【发布时间】:2015-07-02 15:00:58
【问题描述】:
以下代码
#include<stdio.h>
int main()
{
int arr[] = {10,20,30};
cout << -2[arr];
return 0;
}
打印-30。如何?为什么?
【问题讨论】:
-
cout<<-2[arr];我绝不会在代码审查中让它通过...无缘无故地令人困惑。 -
我谦虚地不同意这个骗局。这个问题在涉及的运算符优先级和对 UB 的误解方面存在很大差异,如(现已删除)cmets 所示。我要求重新考虑此案。