今天,我偶然发现了一个谜语,这给我带来了新的惊喜。
我不认为下面的示例中的-1 [p]可以编译,但是可以。实际上,x最终为-3。
int x;
int array[] = {1, 2, 3};
int *p = &array[1];
x = -1[p]
Run Code Online (Sandbox Code Playgroud)
我在互联网上搜索了-1 [pointer]之类的东西,但找不到任何东西。好的,我承认很难输入正确的搜索查询。谁知道为什么-1 [p]编译而X变为-3?