void main( ){ int a[2][3]={{1, 2, 3},{4, 5, 6}};

(16)有以下程序voidmain(){inta[2][3]={{1,2,3},{4,5,6}};intm,(*p)[3]=a;这里不是很懂。m=(*(*p))*(*(*... (16)有以下程序
void main( )
{ int a[2][3]={{1, 2, 3},{4, 5, 6}};
int m,(*p)[3]=a;这里不是很懂。
m=(*(*p)) *(*(*(p+1)+2));这里也不懂。。
printf("%d\n",m);
}
执行后输出的结果是( )
A)3 B) 4 C) 1 D) 6
展开
 我来答
474336159
2013-01-13 · TA获得超过1.6万个赞
知道大有可为答主
回答量:1963
采纳率:100%
帮助的人:2906万
展开全部
D) 6

好吧其实是运行结果。。。
(*p)[3] 其实就跟a[2][3]差不多,不同的是a[2][3]里{1, 2, 3}的地址(其实就是1的地址)是存在a[0]里而(*p)[3]里是存在*p这个地址里,*(p+1)对应的是a[1]这样子。。。
所以(*p)[3]=a其实就是把二维数组赋予(*p)[3],方便以后用p乱指。。。
m=(*(*p)) *(*(*(p+1)+2));
这个要注意的是中间的*是乘号。。。
前面的(*(*p))就是取*p的值就是{1, 2, 3}里的1啊,而*(p+1)就是a[1]里{4, 5, 6}中4的地址,再+2就是6的地址了(一维数组地址连续),然后取值就是6了
所以m=1*6=6,选D
xiaodong60606
2013-01-13 · TA获得超过196个赞
知道答主
回答量:78
采纳率:0%
帮助的人:49.8万
展开全部
D dddddddddddddddddddddddd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式