标题:菜鸟遇见疑惑
只看楼主
冥卫
Rank: 8Rank: 8
来 自:深山老林
等 级:蝙蝠侠
帖 子:280
专家分:772
注 册:2010-4-20
结帖率:88.89%
 问题点数:0 回复次数:10 
菜鸟遇见疑惑
请问一下
i++   ++i的区别
什么时候该用什么,谢谢啊
搜索更多相关主题的帖子: 遇见 
2010-05-05 17:28
liyang0430
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:159
注 册:2009-6-9
得分:0 
int sum,i;
i=3;
sum=pow(2,i++);
这里sum=8
sum=pow(2,++i);
这里sum=16
++i  是i先自加,然后再使用自加以后的值
i++相反
2010-05-05 17:37
红手心
Rank: 2
等 级:论坛游民
帖 子:31
专家分:36
注 册:2010-4-7
得分:0 
i++   ++i  相当于   i+1;
i++   运算后自加 1        ;   
++i   运算前自加  1   ;
例如:
      i=1;
      ++i;  这里i先自加1,在运算    现在i=2;
      i++;  这里的先运算  ,在自加1  可以理解为i=2       在下一步时i=3了
      printf("%d",i);   这里i=3;

表达不太好,希望能看懂

我是新手
2010-05-05 17:47
炫舞小子
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-05 19:07
夏日清风
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:126
注 册:2010-4-16
得分:0 
i++在使用i值之后i的值加1,++i在使用i值之前i的值先加1。
举个例子吧,比如a=i++,b=++i且i的初值为3,则执行a=i++语句之后,a=3,i=4;执行b=++i语句之后,i=4,b=4.
2010-05-05 22:42
game6666
Rank: 2
等 级:论坛游民
帖 子:25
专家分:24
注 册:2010-4-23
得分:0 
假设 i=1

如果执行a=i++ 完之后, a=1, i=2
如果执行a=++i 结果是, a=2, i=2

坚持.........
2010-05-05 22:54
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:0 
回复 3楼 红手心
两者的区别就是+1的时间不同,仅此而已。
++i是先加1然后返回i;
而i++是先返回i然后才加1。

南国利剑
2010-05-05 22:54
Tansion2010
Rank: 1
等 级:新手上路
帖 子:38
专家分:8
注 册:2010-4-24
得分:0 
回复 5楼 夏日清风
同意4楼的。楼主要注意,i++和++i的结果都是i=4!
2010-05-05 23:01
Tansion2010
Rank: 1
等 级:新手上路
帖 子:38
专家分:8
注 册:2010-4-24
得分:0 
回复 8楼 Tansion2010
我是想说同意五楼的,打错了,嘿嘿。
2010-05-05 23:02
vs_inzaghi
Rank: 5Rank: 5
来 自:湖北
等 级:职业侠客
威 望:1
帖 子:303
专家分:364
注 册:2009-8-17
得分:0 
个人建议不要同时用2个以上的自增或者自减……
比如a=(++i)+(++i);
不然你会被老师骂的……

我很懒,但我讨厌别人说我懒……
2010-05-29 02:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-305484-1-1.html




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

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