{ int a[]={1,2,3,4,5,6};int *p;p=a;printf("%d ",*p);printf("%d ",*(++p));

main(){inta[]={1,2,3,4,5,6};int*p;p=a;printf("%d",*p);printf("%d",*(++p));printf("%d"... main()
{ int a[]={1,2,3,4,5,6};
int *p;
p=a;
printf("%d ",*p);
printf("%d ",*(++p));
printf("%d ",*++p);
printf("%d ",*(p--));
p+=3;
printf("%d %d ",*p,*(a+3));
}
A) 1 2 3 3 5 4 B) 1 2 3 4 5 6 C) 1 2 2 3 4 5 D) 1 2 3 4 4 5
为何选A?这些输出每一个是什麽意思,希望有大神详细解答
展开
 我来答
玄殇陨
推荐于2017-09-23
知道答主
回答量:5
采纳率:100%
帮助的人:7.3万
展开全部
main()
{ int a[]={1,2,3,4,5,6};
int *p;
p=a; //p指向的数组a
printf("%d ",*p); //*p指的是数组a的首地址的数据就是数组的第一个元素,是1
printf("%d ",*(++p));//*(++p)是先自加再用,p指向第一个元素,自加1后就是指向第二个元素,是2
printf("%d ",*++p); //因为p已经指向的第二个元素,再自加1就是第三个元素,是3
printf("%d ",*(p--));//p--是先用再自减,所以输出是3,然后p自身再做自减1,
p+=3; //上一步p自减一后指向第二个元素,再后移3个元素就是5
printf("%d %d ",*p,*(a+3));/*(a+3)就是a[3]就是第4个元素就是4
}
乐VoV乐
2013-03-01 · 知道合伙人软件行家
乐VoV乐
知道合伙人软件行家
采纳数:289 获赞数:877
深圳市潮范文化传播有限公司软件工程师.

向TA提问 私信TA
展开全部
main()
{ int a[]={1,2,3,4,5,6};
int *p;
p=a;
printf("%d ",*p); //数组a第一个元素是什么,是:1
printf("%d ",*(++p));//第2个元素是什么,是:2
printf("%d ",*++p); //第2个元素自增1是什么,是:3
printf("%d ",*(p--));//还是问第2个元素是几,但是上一个表达式后,第2个元素就成了:3
p+=3; //向后移动3个位置
printf("%d %d ",*p,*(a+3));//输出第5个元素是几:5 输出相对首地址偏移3个位置的元素:4 即a[3]
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式