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


是对的吗??
搜索更多相关主题的帖子: 优先级 
2008-01-10 20:25
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
2楼的大大,你给的答案和我写的不一样呀??怎么是对的。你说的是 :先执行++  然后在执行*   
而我写的却是。先执行  *   ,再执行++
到底那个是对的我都晕了
2008-01-10 20:42
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
抱歉忘了看下面一句:
两者都是在一个语句结束前的运算中等价于*p,然后最后再对p进行++的

我可能了解。先把他们看做一个表达式。然后根据++的法则。++在后缀则,先计算。整个表达式的值,然后在++。我这样的理解对不??
2008-01-10 20:46
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
6楼的朋友。
我认为两个运算符是等价的  不会出现一个作用于地址,一个做用于。地址中存放的值。
我完全是按照。运算符的法则进行推理的。   因为++的后缀法则规定++后缀。则先计算整个表达式的值。在++。
2008-01-10 21:00
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
根据运算符优先级()是1级,所以先执行括号里面的(执行取值)。然后执行++。
运算符“++”的优先级是2
2008-01-10 21:10
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
你的意思是先++                          再()
???
2008-01-10 21:15
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
其实我们可以这样
假设:
a=4
p=&a
++(*p)

++(*&a)等于++(4)  等于
5
2008-01-10 21:22
yuyangtian10
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-4-5
收藏
得分:0 
这个是书上的,我是为了探究书中是否正确才在这里讨论的。具体的我是不会用的,就如楼上说的那样。会把自己搞晕的
2008-01-11 00:37
快速回复:书中是否的错误
数据加载中...
 
   



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

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