搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请问i+++i如何理解?
标题:
请问i+++i如何理解?
只看楼主
阎魔瞳
等 级:
新手上路
帖 子: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
来 自:四川成都
等 级:
贵宾
威 望:
13
帖 子:1582
专家分:116
注 册:2006-12-7
第
2
楼
得分: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
来 自:荆州长大电信
等 级:
新手上路
帖 子:223
专家分:0
注 册:2006-6-24
第
3
楼
得分:0
C PRIMER PLUS里面写到:
当一个变量多次出现在一个表达式里时,不要将增量运算符或减量运算符运用到它上面
eg: y=n+++n++;
y得结果会根据编译器得不同而不同
但是肯定得是最后n都会加上2......
在路上走,看见了C,从此爱上了她
2007-12-02 13:45
zbqf109
等 级:
新手上路
帖 子:289
专家分:0
注 册:2006-12-31
第
4
楼
得分:0
未定义行为
不同的编译器输出不同的结果
研究这个没意思
不要按老谭的思路学C
那样只会害你
2007-12-02 13:53
StarWing83
来 自:仙女座大星云
等 级:
贵宾
威 望:
19
帖 子:3951
专家分:748
注 册:2007-11-16
第
5
楼
得分:0
如果是我我会这么写:
a=i++<<1;
这样应该没问题了吧?优先级很清晰了……a等于2,如果要a等于4的话
a=++i<<1;
专心编程………
飞燕算法初级群:3996098
我的Blog
2007-12-02 14:05
kidd2005
等 级:
新手上路
帖 子:193
专家分:0
注 册:2007-11-2
第
6
楼
得分:0
不说我也真的会和LZ一样的想啊~~
潜心苦C,却发觉百C不得其解啊~
2007-12-02 15:08
阎魔瞳
等 级:
新手上路
帖 子:10
专家分:0
注 册:2007-12-2
第
7
楼
得分:0
原帖由 [bold][underline]死了都要C[/underline][/bold] 于 2007-12-2 13:44 发表 [url=http://bbs.]
" border="0" />[/url]
本来不想回答这个问题``看在你ID是我很喜欢的人物上回答一下吧``
i+++i 其实应该是 (i++) + i 当有多个相同的运算符号一起时``编译器按最多的组合来
组成一个运算符``
又如 i+++++i 就是i++ ++ + i 这个很明显就错了``
...
这个这个,太感谢了!
中科大铁杆fans
2007-12-02 17:13
zhb_ice
等 级:
新手上路
帖 子:57
专家分:0
注 册:2007-10-6
第
8
楼
得分:0
不用理解 未定义行为 根据编译器不同而不同
这种代码看到就不用管他 垃圾代码
在工作时写这 就该被炒鱿鱼了
2007-12-03 17:23
soya
等 级:
新手上路
帖 子:5
专家分:0
注 册:2007-12-6
第
9
楼
得分:0
a=i+++i; a为什么是2
自右向左结合 (i+)(++i) 第一次执行值自然为2 因为i的值为1,++i是等值运算后再+1。
2007-12-06 11:21
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-189879-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.392675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved