有如下程序,int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5]; 则b为多少?

如题所述

b 为 9。
因为 p 指向 a[3],所以 p[0] 就是 4,p[1] 就是 5,以此类推,p[5]就是9。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-07
a可以理解为这个数组的首地址
a[3]是指向第4个元素
所以p指向第4个元素
p[5]是从p后的5个
也就是第9个元素
所以b=9
第2个回答  2011-03-25
结果是9
因为 *p=&a[3]相当于将p指向了4,然后把它作为起始地址,p[5]就相当于在这个地址上再移动5个位置,所以是9
第3个回答  2017-11-03
有如下程序,
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=&a[3],b;
b=p[5];
则b为8
第4个回答  2011-03-25
*p=&a[3],得出p[0]=4;依次向后推得出p[5]=9;
即b=9;