计算机二级C语言问题
这个题目,答案是B,我想问问这个*(w+1)[4]等价于*((w+1)[4])之后,又为什么等价于*(*((w+1)+4))呢???...
这个题目,答案是B,我想问问这个*(w+1)[4]等价于*((w+1)[4])之后,又为什么等价于*(*((w+1)+4))呢???
展开
4个回答
展开全部
*(w+1)[4]等价于*((w+1)[4])是因为[]的优先级高于*
然后等价于*(*((w+1)+4))是因为p[4]和p+4是一样的
然后等价于*(*((w+1)+4))是因为p[4]和p+4是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题纯粹就是数学公式:
记住:无论a是指针还是数组,a[i]都会被编译器解析为 *(a+i);
也就是说 a[i]与 *(a+i)的写法是完全等价的。因此 (w+1)[4]可以写为 *((w+1)+4).
因此,*((w+1)[4]) 等价于*(*((w+1)+4))
记住:无论a是指针还是数组,a[i]都会被编译器解析为 *(a+i);
也就是说 a[i]与 *(a+i)的写法是完全等价的。因此 (w+1)[4]可以写为 *((w+1)+4).
因此,*((w+1)[4]) 等价于*(*((w+1)+4))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
w是地址,w+1是w【1】,这也是一个地址,前面的*取地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询