#c语言# 指针和数组


#include <stdio.h>

int main()
{
     int a[] = { 5,4,3,2,1 }, * p []= { a + 3,a + 2,a + 1 ,a}, ** q = p;
    
    printf("%d\n", *(p[0] + 1) + **(q + 2)); 
    return 0;
}

请问 *(p[0]+1) 是哪个数?

p[0]a+3
再+1a+4
所以*(p[0] + 1)是a[4],也就是1
*(q+2)是a+1,**(q+2)是a[1],也就是4
所以输出5