3个回答
展开全部
p是int型指针数组,即p的每个元素都是int型指针。由for循环可知,p[0]等于&a[0],p[1]等于&a[4],p[2]等于&a[8]。则p[2]+1=&a[8]+1=&a[9]。
所以,*(p[2]+1)就等于a[9],结果是:10。
所以,*(p[2]+1)就等于a[9],结果是:10。
追问
那么*(p[2])+1和*(*(p[2])+1)的值又是多少呢?求具体过程
追答
p[2]等于&a[8],*(p[2])就是*(&a[8]),就是a[8],而a[8]等于9,9+1=10。
第2个就是*(10),从逻辑上讲就是取出地址10(把10作为一个地址)中的值,但这不符合语法,因为10是整数类型的,不是指针,不能进行*(解除引用运算)。所以,是语法错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在循环里, 可以看出 p[2]=&a[2*4], 所以 p[2]=&a[8]
也就是说p[2]是指向a数组中第9个元素的指针
p[2]+1就是将指针向后移动一个单位, 即指向a数组第10个元素(相当于&a[9])
括号前面的星号是从地址中取得对应值, 也就是10
也就是说p[2]是指向a数组中第9个元素的指针
p[2]+1就是将指针向后移动一个单位, 即指向a数组第10个元素(相当于&a[9])
括号前面的星号是从地址中取得对应值, 也就是10
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p是指针数组
p[2]=&a[8]指向第第九个元素
p[2]+1指向第十个元素
*(p[2]+1)第十个元素的值,也就10
p[2]=&a[8]指向第第九个元素
p[2]+1指向第十个元素
*(p[2]+1)第十个元素的值,也就10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询