@AFOX #5 `*(p-1)`太操蛋了。同事提醒恍悟: `&a == &a[0] == a`,`a`与`&a[0]`含义一样,但是`&a`与`a`含义不同,`&a`代表的是数组`a[5]`的地址,+1 就是`&a[6]`了。 就是坑人的
``` C // 关于这道题,有两种情况,比如如果是下面这样,那输出就是 2 ,5 int main() { int a[5] = {1, 2, 3, 4, 5}; int *p = &a + 1; printf("%d, %d", *(a+1), *(p - 1)); return 0; } // 如果是下面这样,那么编译报错 int main() { int a[5] = {1, 2, 3, 4, 5}; int *p = &(a + 1); printf("%d, %d", *(a+1), *(p - 1)); return 0; } 有点记不清当时题目有没有这个括号了,不过我都错了 qwq ```