Сегодня я наткнулся на загадку С, которая принесла мне новый сюрприз.
Я не думал, что -1 [p] в приведенном ниже примере скомпилируется, но это произошло. На самом деле, х в конечном итоге будет -3.
int x;
int array[] = {1, 2, 3};
int *p = &array[1];
x = -1[p]
Я искал в интернете что-то вроде -1 [указатель], но ничего не смог найти. Ладно, мне трудно ввести правильный поисковый запрос. Кто знает, почему -1 [p] компилируется, а X становится -3?