执行以下程序段,输出的结果为( )

执行以下程序段,输出的结果为()main(){inta[2][3]={{3,2,7},{4,8,6}};int*p,m;p=&a[0][0];m=(*p)*(*(p+2)... 执行以下程序段,输出的结果为( )
main()
{ int a[2][3]={{3,2,7},{4,8,6}};
int *p,m;
p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4)); /*这里是怎么计算的?大虾能帮忙解释吗?*/
printf(“m=%d”,m);}

答案是多少呢?
展开
 我来答
百度网友4e7acdd
2011-08-18 · TA获得超过1208个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:685万
展开全部
84
m=(*p)*(*(p+2))*(*(p+4));
首先(*p)指p指针指向内存位置的int型变量的值,即a[0][0],因此(*p)=3
然后看(*(p+2))指的是p所指位置之后第二个元素,即a[0][2],因此(*(p+2))=7
最后(*(p+4))=a[1][0]=4,因此m=3*7*4=84
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式