一个自加自减(i++)的问题,请大家指教下。。。

langhun1985 2007-05-25 02:39:11
i=3;
j=i++*++i+i--*--i;
这里面运算顺序到底是怎么样的呢?我有点昏。。。
i是怎么自增自减的哦? 最后等于多少呢?
谢谢了!
...全文
1329 71 打赏 收藏 转发到动态 举报
写回复
用AI写文章
71 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiuYi_7 2009-01-23
  • 打赏
  • 举报
回复
运算顺序是自右至左的
(1),--i为2
(2),i--为2 i=1 (后--)
(3),++i为2
(4),i++为2 i=3 (后++)
(5),计算(3)*(4)+(1)*(2)=2*2+2*2=8
雷少爷爷 2009-01-23
  • 打赏
  • 举报
回复
无聊的东西,真正的时候你会用吗?完全是取决于编译器
xuruichen 2009-01-23
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 shenshenaini 的回复:]
int i = 3;
int j=i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--ii++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i
*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*-…
[/Quote]
太有才了
only_lonely 2009-01-23
  • 打赏
  • 举报
回复
这样的题目,怕怕怕~~~~
tanmeining 2009-01-20
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 shenshenaini 的回复:]
int i = 3;
int j=i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--ii++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*--i
*--i*i++*++i+i--*--i*i++*++i+i--*--i*i++*++i+i--*-…
[/Quote]
编译不过,嘿嘿....
不要乱copy哦^_^
maldini20040607 2009-01-20
  • 打赏
  • 举报
回复
自己写过小程序验证一下啊!
tianma2005123 2009-01-20
  • 打赏
  • 举报
回复
真搞不懂。有些公司面试还出这种题。。脑袋进水了么?
yujian596 2009-01-20
  • 打赏
  • 举报
回复
应试教育
FoxOnWeb 2009-01-20
  • 打赏
  • 举报
回复
特意演算了一下,
vc下是3,18
g++下是4,24.

willen121 2009-01-20
  • 打赏
  • 举报
回复
这东西完全没有意义啊,搞那么多精简代码干吗啊,易读,好维护多好。
na2650945 2009-01-19
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 lanya2625 的回复:]
编译器相关,没意义的题目
[/Quote]
支持。
shyli 2009-01-13
  • 打赏
  • 举报
回复
看错了,1楼正解
shyli 2009-01-13
  • 打赏
  • 举报
回复
2楼正解
参考ISO_IEC 9899_TC3
6.5 Expressions
Between the previous and next sequence point an object shall have its stored value
modified at most once by the evaluation of an expression. Furthermore, the prior value
shall be read only to determine the value to be stored.

Annex J
(informative)
Portability issues
J.2 Undefined behavior

Between two sequence points, an object is modified more than once, or is modified
and the prior value is read other than to determine the value to be stored (6.5).
leiweilei 2009-01-12
  • 打赏
  • 举报
回复
编译器不同,结果不同。我汗~!
yeungqi 2009-01-10
  • 打赏
  • 举报
回复
晕!
zedzhao 2009-01-10
  • 打赏
  • 举报
回复
up
as11qwer 2009-01-09
  • 打赏
  • 举报
回复
哭……
malu_1982 2009-01-09
  • 打赏
  • 举报
回复
j=i++*++i+i--*--i;

j = i++ * ++i + i-- * --i;
hellboyqq 2009-01-09
  • 打赏
  • 举报
回复
学编程学的是算法!!!
lsfw 2007-06-13
  • 打赏
  • 举报
回复
用windows下的gcc编译了一下
4*4+3*3=25
加载更多回复(51)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧