| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1423 人关注过本帖
标题:i++和++i 怎么区分啊 我又糊涂了 大神给解释!
只看楼主 加入收藏
烟子
Rank: 1
等 级:新手上路
帖 子:15
专家分:1
注 册:2013-4-29
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:16 
i++和++i 怎么区分啊 我又糊涂了 大神给解释!
#include <stdio.h>
     void main()   
     {
       int i=-2;
       while(i++<=0); printf("%d  ",i);
     }
为什么输出结果是2啊   我怎么觉得是1
搜索更多相关主题的帖子: void include 
2013-05-09 22:37
业余爱好者
Rank: 2
等 级:论坛游民
帖 子:28
专家分:23
注 册:2013-4-23
收藏
得分:1 
i++   i参与运算后再加一       ++i  是i加一 后参加运算
2013-05-09 22:53
enochgreen
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2013-3-4
收藏
得分:1 
i=0时,while语句顺利执行一次,i++ 后,i=1.
然后再执行一次while语句中的 i++, 即使不符合条件,仍执行i++ 一次,致使 i++ 后 i的值变后 2。 有点混乱,但情况是这样。
2013-05-09 22:56
Robte
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2013-5-9
收藏
得分:1 
i++  i的值增加1之后再加入运算
++i  先运算之后再增加1
#include <stdio.h>   
     void main()   
     {
       int i=-2;
       while(i++<=0); printf("%d  ",i);
     }

//  
  i++<=0 条件满足的之后停止并输入结果!
  i=0的时候还是会进行一次循环,这时候i的值=1 i>0,返回while条件再次执行一次i++ 才会停止。



2013-05-09 23:07
Han_FlyB
Rank: 6Rank: 6
等 级:侠之大者
帖 子:143
专家分:424
注 册:2013-3-25
收藏
得分:1 
问题出在while后面的;了,你看仔细看一下
2013-05-09 23:40
小男孩的围裙
Rank: 2
等 级:论坛游民
帖 子:15
专家分:32
注 册:2013-4-24
收藏
得分:1 
i++是现引用后执行,++i是先执行后引用。
2013-05-10 01:14
小男孩的围裙
Rank: 2
等 级:论坛游民
帖 子:15
专家分:32
注 册:2013-4-24
收藏
得分:0 
i++是先引用后执行,++i是先执行后引用。
#include <stdio.h>
     void main()   
     {
       int i=-2;
       while(i++<=0); printf("%d  ",i);
     }
这函数中因为while(i++<=0),所以当i++使得i=1的时候引用的是i=0,然后还要在执行一次。当i++使得i=2时引用的是i=1刚好跳出while,然后输出的值是2。
2013-05-10 01:20
jackliuwenli
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2013-3-28
收藏
得分:1 
回复 楼主 烟子
int i=-2;    //i = -2;
while(i++<=0);  // while执行了3次  -2、-1、0  先使用a,再执行++;
while(++i<=0);  // whilie执行了2次  -1、0     先执行++,再使用a;

2013-05-10 01:41
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:1 
3楼的头像是假的...鉴定完毕!

仰望星空...........不忘初心!
2013-05-10 03:13
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:1 
假如i=1;i++,是先用i=1;然后i+1;
++i;则是先执行i+1;

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-10 08:45
快速回复:i++和++i 怎么区分啊 我又糊涂了 大神给解释!
数据加载中...
 
   



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

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