int a[]={1,2,3,4,5};
int *p[]={a,a+1,a+2,a+3};
int **q=p;
*(p[0]+1)+**(q+2)
表达式*(p[0]+1)+(q+2)的值?
分析:
如图所示:int *p[]是一个指针数组,
int *p[]={100,104,108,112,116}
*(p[0]+1) ——>p[0]是指针,值为100,加一就是104,再进行解引用为 2
(q+2)——>q是指向p的指针,加2到108,进行两次解引用到a[2],为 3
因此,表达式(p[0]+1)+(q+2)**的值为5