| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1099 人关注过本帖
标题:书中是否的错误
只看楼主 加入收藏
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
 问题点数:0 回复次数:17 
书中是否的错误
先使指针变量p指向数组a的首地址(即p=a),则
*p++等价于*(p++).因为“*”和“++”具有相同的优先级,结合方向为从右到左[underline]。*p++是先得到p指向变量的值,然后在执行p++.[/underline]


是对的吗??
搜索更多相关主题的帖子: 优先级 
2008-01-10 20:25
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
这个是对的
如何理解:
*p++:优先级方向向左,则先执行左边++后执行*
*(p++):括号的优先级就不说了吧。
两者都是在一个语句结束前的运算中等价于*p,然后最后再对p进行++的

(好久不来了啊)

[[italic] 本帖最后由 我是菜鸟哦 于 2008-1-10 20:39 编辑 [/italic]]

偶是菜鸟鸟偶惧WHO?!!!!
2008-01-10 20:30
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
2楼的大大,你给的答案和我写的不一样呀??怎么是对的。你说的是 :先执行++  然后在执行*   
而我写的却是。先执行  *   ,再执行++
到底那个是对的我都晕了
2008-01-10 20:42
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
优先级问题:同级运算符,根据运算方向来判别执行过程

找楼上的说法,就是你的书错了(这个没什么意义,除非考试,一个好的编程员是不会这样编东西的哦)

(本人也遇到过这样的东西,头炸了,没什么意义,看见就火)

[[italic] 本帖最后由 我是菜鸟哦 于 2008-1-10 20:47 编辑 [/italic]]

偶是菜鸟鸟偶惧WHO?!!!!
2008-01-10 20:46
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
抱歉忘了看下面一句:
两者都是在一个语句结束前的运算中等价于*p,然后最后再对p进行++的

我可能了解。先把他们看做一个表达式。然后根据++的法则。++在后缀则,先计算。整个表达式的值,然后在++。我这样的理解对不??
2008-01-10 20:46
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
楼上的说法是这个不======(*p)++

这个++是作用于p所指的变量的

而*P++这个东西,++只是作用于地址的

所以前者是语句执行将要完结时,对对变量++
后者地址++

[[italic] 本帖最后由 我是菜鸟哦 于 2008-1-10 20:52 编辑 [/italic]]

偶是菜鸟鸟偶惧WHO?!!!!
2008-01-10 20:50
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
6楼的朋友。
我认为两个运算符是等价的  不会出现一个作用于地址,一个做用于。地址中存放的值。
我完全是按照。运算符的法则进行推理的。   因为++的后缀法则规定++后缀。则先计算整个表达式的值。在++。
2008-01-10 21:00
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
对括号的理解,++(*P)
请问这个的执行顺序是什么,我看看你的理解(看看那个++到底是作用再什么上)

偶是菜鸟鸟偶惧WHO?!!!!
2008-01-10 21:04
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
没什么意思,对于写程序,对于不明白就用()好了,要确实知道怎么结合可以去查书,而且不同的编译器解释也不一样啊,所以没必要纠缠......个人观点
2008-01-10 21:08
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
根据运算符优先级()是1级,所以先执行括号里面的(执行取值)。然后执行++。
运算符“++”的优先级是2
2008-01-10 21:10
快速回复:书中是否的错误
数据加载中...
 
   



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

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