帮我把这个c语言程序的结果写一下吧。谢谢

 我来答
百度网友6fe74e2
2014-01-07 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:267万
展开全部

输出:1 2 3 3 3


第一个没有问题   *p=a[0]=1

第二个:++p先让p指向a[1]   所以 *(++p)=a[1]=2

第三个:++在p前,先让p指向a[2],再用p的值,所以 *++p=a[2]=3

第四个:p指向a[2],--在p后,先用p原值,再让p指向上一个,所以  *(p--)=*p=a[2]=3

     同时,p指回a[1]

第五个:p指向a[1]  ++(*p)=++a[1]=2+1=3


所以:

追问
太感谢了!
zhangsonglin_c
高粉答主

2014-01-07 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.7万
采纳率:83%
帮助的人:6998万
展开全部
第一个printf:p指向a[0],输出a[0],就是1;
第二个,p先自增1,指向了a[1],输出2;
第三个,++,与*都是单目运算符,平级,其结合方式是从有到左,因此p先自增1,指向a[2],再输出这个数,就是3;
第四个,--在p的后面,是先输出p当前指向的对象a[2],然后,p自减1,指向a[1],因此输出还是3;
第五个,现在p指向的是a[1],其值是2,前置++将这个值自增1,现在a[1]=3,输出的就是这个3.

综上所述,输出:
1 2 3 3 3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式