这道题怎么做
3个回答
2019-02-10
展开全部
分别是9和7
首先定义了一个二维数组
指针c指向数组的值所在的地址
也就是6
*(c+1)指向当前地址的下一位置,即a[2],值为9
*c+1先去c所指向的地址的值,后加1,所以是7
望采纳哦
首先定义了一个二维数组
指针c指向数组的值所在的地址
也就是6
*(c+1)指向当前地址的下一位置,即a[2],值为9
*c+1先去c所指向的地址的值,后加1,所以是7
望采纳哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
像这样的题,你得首先明白数组的名字代表的意思才能明白这样的题怎么做。对于一个一维数组,数组的名字代表它的首元素的地址,并且它是指向元素的。对于一个师a[2][3]二维数组,其实它包含两种数组,一种是一个包含两个元素的数组,只是这个元素和平常的元素不同,它的每个元素都是一个包含三个一般类型元素的数组。数组的名字a代表了一个地址,这个地址指的是它的第一个元素(也就是两个数组元素的第一个)的地址,所以它是指向数组的地址,a+1直接就指向了下一个元素,也就是第二个数组的地址。另外a[0]和a[1]是数组a的两个元素,所以它本身也是数组,分别包含三个普通的元素,这个数组的名字也是一个地址,这个地址分别指向了各自首元素。所以题目中的c既然为a[1],那么它就指向了数组a的第二个元素的第一个元素,即c是12所在内存的地址。所以*(c+1)由于括号的优先级高于*,先让地址加1,即让c指向下一个元素15,此时c+1就是15所在内存的地址,然后解地址,结果就是15了。对于*c+1,由于*的优先级高于+的优先级,所以先解地址再做加法,c既然指向12,解地址出来就是12,然后让12加一,结果就是12了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案是15,13
去查看一下指针的概念就知道了,
第一个是指针地址取值
第二个是先取值然后算求加1
去查看一下指针的概念就知道了,
第一个是指针地址取值
第二个是先取值然后算求加1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询