c语言中(*p)++和*p++含义应该不同吧? 20

 我来答
天天向上李亚飞
2017-07-03 · 学习——就要天天向上!
天天向上李亚飞
采纳数:540 获赞数:3878

向TA提问 私信TA
展开全部

(*p)++ : 表示指针p所指的存储空间的值自加一次。

*p++ :  由于++的优先级高于*,所以先执行++,相当于*(p++);

例:

如有定义:

int a[5]={10,20,30,40,50};
int *p=a,b;

如写成:b=*p++;    则b的值为10,p自加一次由a[0]的地址指向a[1]的地址(就是值为20的变量地址),其它不变。

如写成:b=(*p)++;    则b的值为10,p所指向的地址中的值自加一次(相当于a[0]自加一次),a[0]的值就会变成11。

物理公司的
2017-07-03 · TA获得超过5697个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1387万
展开全部
*(p++) 是p指向的地址加1再取值
(*p)++ 是指向的地址的值加1
例如
int a[2]={3,6,};
int *p;
p=a;
则 (*p)++ 的值为4
*p++ 的值为6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式