| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3105 人关注过本帖
标题:请问i+++i如何理解?
只看楼主 加入收藏
阎魔瞳
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-12-2
收藏
 问题点数:0 回复次数:8 
请问i+++i如何理解?
i+++i 怎么理解 i=1; a=i+++i; a为什么是2

从百度帖吧上看来的
++i不是右结合么?理解为a=i+(++i) 则先使i自加,i为2,再引用,i+i=2+2=4。

为什么运行结果会是2?
搜索更多相关主题的帖子: 百度帖吧 如何 
2007-12-02 13:24
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
本来不想回答这个问题``看在你ID是我很喜欢的人物上回答一下吧``

i+++i  其实应该是 (i++) + i  当有多个相同的运算符号一起时``编译器按最多的组合来
组成一个运算符``
又如  i+++++i 就是i++  ++  + i 这个很明显就错了``

像这样回产生让你打不到方向的代码``你最好别写``我就永远不回写``
我只写我有%100把握知道是什么结果的代码

如果要让结果是4 `我就先++i 在 i+i
如果我要结果是2  就 i+i 再++i

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-02 13:44
wubizao
Rank: 1
来 自:荆州长大电信
等 级:新手上路
帖 子:223
专家分:0
注 册:2006-6-24
收藏
得分:0 
C PRIMER PLUS里面写到:
当一个变量多次出现在一个表达式里时,不要将增量运算符或减量运算符运用到它上面
eg:  y=n+++n++;
y得结果会根据编译器得不同而不同
但是肯定得是最后n都会加上2......

在路上走,看见了C,从此爱上了她
2007-12-02 13:45
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
未定义行为
不同的编译器输出不同的结果
研究这个没意思

不要按老谭的思路学C
那样只会害你
2007-12-02 13:53
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
如果是我我会这么写:
a=i++<<1;
这样应该没问题了吧?优先级很清晰了……a等于2,如果要a等于4的话
a=++i<<1;

专心编程………
飞燕算法初级群:3996098
我的Blog
2007-12-02 14:05
kidd2005
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-11-2
收藏
得分:0 
不说我也真的会和LZ一样的想啊~~

潜心苦C,却发觉百C不得其解啊~
2007-12-02 15:08
阎魔瞳
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-12-2
收藏
得分:0 
原帖由 [bold][underline]死了都要C[/underline][/bold] 于 2007-12-2 13:44 发表 [url=http://bbs.][/url]
本来不想回答这个问题``看在你ID是我很喜欢的人物上回答一下吧``

i+++i  其实应该是 (i++) + i  当有多个相同的运算符号一起时``编译器按最多的组合来
组成一个运算符``
又如  i+++++i 就是i++  ++  + i 这个很明显就错了``
...


这个这个,太感谢了!

中科大铁杆fans
2007-12-02 17:13
zhb_ice
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-10-6
收藏
得分:0 
不用理解 未定义行为 根据编译器不同而不同
这种代码看到就不用管他 垃圾代码
在工作时写这 就该被炒鱿鱼了

2007-12-03 17:23
soya
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-12-6
收藏
得分:0 
a=i+++i; a为什么是2
 自右向左结合 (i+)(++i) 第一次执行值自然为2 因为i的值为1,++i是等值运算后再+1。
2007-12-06 11:21
快速回复:请问i+++i如何理解?
数据加载中...
 
   



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

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