static int a[3]={1,2,3};
int **ptr,*p;
p=a;
ptr=&p;
(ptr[0]++)[1]+=3;/*先看ptr[0],因为ptr指向p,所以ptr[0]就是p, 所以(ptr[0]++)就相当于(p++),原表达式相当于(p++)[1]+=3,因为p++是后加一,所以就是p[1]+=3后p再自加一,p[1]+=3推出a[1]=5,而p已经加了一,所以指向a[1],因此**ptr,*p输出的都是5,如果你没弄明白的话,那你应该再去看看书啦*/
printf("%d,%d,%d\n",**ptr,*p,a[0]);