标题:*p++的问题
只看楼主
mebol
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-10-7
 问题点数:0 回复次数:19 
*p++的问题

我是刚接触C语言的新手哦,还请大家老手多多关照:
我学习的过程中遇到一个新问题:在指针中 *p++究竟是先算*p,再算++;还是先算p++,再算*?
拜托有人能理我,告诉我答案,我将非常的感谢!呵呵

搜索更多相关主题的帖子: 答案 学习 C语言 
2007-10-07 13:03
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
得分:0 
*号的优先级高于+

fighting!from now on!
2007-10-07 13:11
mebol
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-10-7
得分:0 

谢谢,我在清华大学出版的书上又看到说是++的优先级高于*,它说要这样算必须(*p)++,是怎么回事啊?是不是版本不一样?

2007-10-07 13:31
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
得分:0 
不会吧 书的版本是不一样  用程序试试不就知道了  呵呵

fighting!from now on!
2007-10-07 13:35
mebol
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-10-7
得分:0 
  可我没安程序,我看了一下,安装都要交费,我已经很穷了,哪还经的起折腾
2007-10-07 13:38
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
++ 比* 高.
水水不要误导人家.

倚天照海花无数,流水高山心自知。
2007-10-07 13:43
mebol
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-10-7
得分:0 

可:
main()
{char s[]="159",*p;
p=s;
printf("%c",*p++);
printf("%c",*p++);
}结果是?
这是在电子工业出版社的出版书上抄的,我就觉得答案该是:59

2007-10-07 13:49
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
呵呵
应该是15,
printf("%c",*p++);//p->a[0]所以是1,之后p->a[1]
printf("%c",*p++);//同理

倚天照海花无数,流水高山心自知。
2007-10-07 13:52
mebol
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-10-7
得分:0 
哦,终于明白了
你的意思是第一次*p++时,p++的表达式植没变,所以输出是1,对吗?明白了
谢谢啊,你好厉害
2007-10-07 14:03
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
p++不会改变*p.

倚天照海花无数,流水高山心自知。
2007-10-07 14:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-175615-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.469456 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved