#include<stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9},*p; void main() { p=(int*)malloc(sizeof(iC语言

#include<stdio.h>inta[3][3]={1,2,3,4,5,6,7,8,9},*p;voidmain(){p=(int*)malloc(sizeof(i... #include<stdio.h>
int a[3][3]={1,2,3,4,5,6,7,8,9},*p;
void main()

{ p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
system ("pause");
}
f(int *s,int p[][3])
{
*s=p[1][1];
system ("pause");
}
答案是5 求详细解释,追分
展开
 我来答
guanxy2012abc
推荐于2018-02-28 · TA获得超过110个赞
知道答主
回答量:73
采纳率:0%
帮助的人:18.6万
展开全部
首先是 a的初始化
a的值为
a[0][0]~a[0][2] 1 2 3
a[1][0]~a[1][2] 4 5 6
a[2][0]~a[2][2] 7 8 9

void main()

{ p=(int*)malloc(sizeof(int));
// 分配一块内存,其地址赋值给p(全局变量
f(p,a);//调用函数
printf("%d\n",*p);
// 这里p是全局变量,指向分配的那块内存,所以*p的值是5
system ("pause");
}
f(int *s,int p[][3])
{
*s=p[1][1];
// 这里面的p是函数参数,和全局变量p不一样,
他是局部变量,他的值就是全局变量a值(a[0][0])的地址。
所以这里的p[1][1]就是a[1][1].其值为 5.
// s的值就是全局变量p的值,指向分配的那块内存,所以分配的那块内存里面存的值是5.
system ("pause");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式