社区
C语言
帖子详情
++i和i++到底有什么分别啊
zryant
2010-06-07 02:54:52
如题,希望不要很抽象啊
...全文
1385
55
打赏
收藏
++i和i++到底有什么分别啊
如题,希望不要很抽象啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
55 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ccw666
2012-10-19
打赏
举报
回复
int a=10,b;
b=a++;
Console.WriteLine("{0}",a); // 11
Console.WriteLine("{0}",b); // 10
Console.WriteLine("{0},a++); //11
Console.WriteLine("{0}",a); //12
Console.WriteLine("{0}",b); //10
Console.ReadKey();
int a=10,b;
b=++a;
Console.WriteLine("{0}",a); //11
Console.WriteLine("{0}",b); //11
Console.WriteLine("{0}",++a); //12
Console.WriteLine("{0}",a); //12
Console.WriteLine("{0}",b); //11
Console.ReadKey();
狂奔的蜗牛h
2012-10-19
打赏
举报
回复
返回值不同,最后结果一样
int i=10,j=10;
int a=i++;(a=10)
int b=++j;(b=11)
最后i=j=11
lixing01
2010-06-09
打赏
举报
回复
1.学会用百度
2.手上缺少好的技术手册(有问题可以随时查阅细节的好书)
3.就题而论理解顺序点
4.这样的问题即便不理解也不重要,远比有这更重要的内容值得花时间去学习
gjqdestiny
2010-06-09
打赏
举报
回复
其实很简单,记住,如果只是单纯的表达式,那么没有区别,但是如果赋值的话,则++在前面,就先自加1,然后再赋值或者计算,在后面就赋值或者计算后再自加1.
INCpig
2010-06-09
打赏
举报
回复
学习学习
r11222
2010-06-09
打赏
举报
回复
来发帖不如看书。。。
yang910924
2010-06-09
打赏
举报
回复
++i和i++主要区别在于一个先加一个后加
i=1;
printf("%d",i++);
输出的是1
i=1;
printf("%d",++i);
输出的是2
innexy_sun
2010-06-09
打赏
举报
回复
楼上们说的很好!
yangyongxi
2010-06-09
打赏
举报
回复
这个问题刚开始很纠结,后来终于晓得
tianya0609
2010-06-08
打赏
举报
回复
路过,打酱油
shuai13869896140
2010-06-08
打赏
举报
回复
[Quote=引用 3 楼 huanmie_09 的回复:]
楼主可以测试一下结果:
i = 1;
ii = i++;
printf("i=%d, ii=%d", i, ii);
i = 1;
ii = ++i;
printf("i=%d, ii=%d", i, ii);
[/Quote]
这个比较直观,楼主应该可以看懂的```
KevinHo
2010-06-08
打赏
举报
回复
前缀自增和后缀自增的区别就在于,前者表达式的值是i自增后的值,而后者表达式的值则是i自增前的值
sk_sakula
2010-06-08
打赏
举报
回复
i++:先使用后加,不能做左值
++i:先加后使用,可以做左值
she_0506
2010-06-08
打赏
举报
回复
++i是先对该变量执行+1操作 再使用该变量i
i++再使用该变量i 再对该变量+1 进入下一层循环
wangli820
2010-06-08
打赏
举报
回复
int a=b=10;
a++;++b;
cout<<a://结果为11
cout<<b;//结果为11
cout<<a++;//结果为11
cout<<++b;//结果为12
cout<<a;//结果为12
cout<<b;//结果为12
figo1688
2010-06-08
打赏
举报
回复
大家都很有耐心,初学的时候都一样,自己写个小例子编译运行一下就知道了。
[Quote=引用 16 楼 wangxipu 的回复:]
对楼上诸位的耐心表示非常佩服和仰慕
[/Quote]
aspireal
2010-06-08
打赏
举报
回复
++i表示先把i加1再使用,i++表示先使用i后再加1
chowming
2010-06-08
打赏
举报
回复
++i和i++都是一个表达式,都会有一个返回结果,i++的返回结果是i加1之前的值,++i的返回结果是i加了1之后的值。但是表达式被执行后i的值都会加1
就效率而言,++i的效率要高于i++,因为++i不需要存储中间值,而i++需要,所以在C++Primer上说如果没有特殊的要求,最好写成成++i
SuperLampard
2010-06-08
打赏
举报
回复
[Quote=引用 9 楼 xia_zhigang 的回复:]
引用 6 楼 zj294006 的回复:
个人感觉区别在下面:
C/C++ code
int a=b=10;
a++;++b;
cout<<a://结果为11
cout<<b;//结果为11
cout<<a++;//结果为11
cout<<++b;//结果为12
cout<<a;//结果为12
cout<<b;//结果为12
就是这个理!!!
[/Quote]
顶
x642458
2010-06-08
打赏
举报
回复
[Quote=引用 44 楼 dw3051 的回复:]
++i表示先把i加1再使用,这时i就等于i+1的值
i++表示先使用i后再加1,这时使用的是i的值 要是下一次使用i i等于i+1的值
[/Quote]
加载更多回复(34)
MoreWindows白话经典算法之七大排序(高清版)
这是本人在研一上课时所整理的文档,包括冒泡排序,直接插入排序,直接选择排序,希尔排序,归并排序,快速排序和堆排序这七种常用的排序方法,这些文章不仅使我在考试中取了不错的成绩,也为后来顺利面过迅雷,腾讯,微软打下了良好的基础,现在整理成电子书形式,希望能对大家有所帮助。
C/C
++
程序设计员应聘常见面试试题深入剖析
C/C
++
程序设计员应聘常见面试试题深入剖析,不看会后悔!!!!!!!!!
【C语言】 i
++
; 与
++
i; 区分
一、i
++
和
++
i 运算 前缀
++
(
++
i): 在表达式中先自增,再将自增后的结果(i)进行运算。 后缀
++
(i
++
): 先将i的值进行运算,再表达式结束后自增。 在表达式之后,不论i
++
还是
++
i 都会完成自增;区别是 i
++
在表达式中用的是自增前的i值,
++
i在表达式中用的是自增后的i值。 二、
++
优先级 问:如果这个自增运算符, 在表...
for循环中
++
i和i
++
的区别
首先了解下在正常情况下
++
i和i
++
的区别
++
i:首先对i进行+1操作,然后拿着运算后的结果(即+1)带入运算 i
++
:先使用当前的i值代入运算,然后再执行+1操作 对于for循环中的i
++
和
++
i: 他们对于输出结果没有影响,因为他们都是在执行了循环体之后才会执行第三个语句。 对于大型数据而言,i
++
需要先执行运算再+1,需要一个临时变量来转存,相比之下
++
i就没有这个问题,所以它对整体的性能...
i
++
与
++
i的区别
1.i
++
返回原来的值,
++
i 返回加1后的值。 int i1 = -5; int i2 = -5; System.out.println("i1,i2的值为:"+i1); int a = i1
++
;//等忙完这个在加一吧 int b =
++
i2; //不管三七二十一先加了一再说 System.out.println("i
++
的值为:"+a); System.out.println("
++
i的
C语言
70,039
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章