以下程序的运行结果是() main() { int a[3]={1,2,3}; int *num[3]; int **p,i; for(i=0;i<3;i++) num[i

1.以下程序的运行结果是()main(){inta[3]={1,2,3};int*num[3];int**p,i;for(i=0;i<3;i++)num[i]=&a[i]... 1. 以下程序的运行结果是()
main()
{
int a[3]={1,2,3};
int *num[3];
int **p,i;
for(i=0;i<3;i++)
num[i]=&a[i];
p=num;
printf(“%d”,**p);
}
详解
展开
 我来答
guojingcha
2013-06-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.3万
采纳率:42%
帮助的人:1.1亿
展开全部
应该是输出1。程序是这样的,先定义了一个数组a,并赋值。然后定义了一个指针数组sum。在for循环中,使用了
num[i]=&a[i];语句,也就是,指针数组的每个元素分别指向了数组a的每个元素。前面定义的p,是指向指针的指针,也就是p指向了一个地址,而这个地址又执行了另外一个地址。执行p=num后,p就 指向了num数组的第一个元素。后面使用printf(“%d”,**p);输出的时候,实际上就是输出了数组a 的第一个元素,就是1。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式