在C++语言中,i++与++i有什么区别?那i--和--i呢

 我来答
su13566
2009-09-18 · TA获得超过152个赞
知道答主
回答量:39
采纳率:0%
帮助的人:69.1万
展开全部
这种算法要用例子才能说明的了!比较全面的例子好像这样:

当i=5时,求s=(++i)+(++i)和s=(i++)+(i++)的值

当i=5时,s=(++i)+(++i)=13 先算第一个(++i),++在前面,就把i先加1再把赋值,即先把i变为6然后再得出(++i)的值为6,这时i已经变为6了,再计算第二个(++i),++在前面,也是先把i加1后再赋值,不过这时的i已经为6了,第一步的时候把i变成6了的,然后加1的话就变成7了,所以第二个(++i)的值为7,s=(++i)+(++i)=6+7=13.
s=(i++)+(i++)=11 先算第一个(i++),i在前面,就先赋值再把i加1,即(i++)的值为5,i的值变为6,第二个(i++),i在前面,先赋值再把i加1,这个时候的i已经为6了,即(i++)的值为6,而i已经变为7了!所以s=(i++)+(i++)=5+6=11.

相信你看得懂这个例子,基本上就会怎么算了!
i--和--i跟i++和i++是一样算法的,只不过一个是加一个是减!
------白猪(幸福快乐)
憨憨漂移
2009-09-18 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:122万
展开全部
两者都是i的自加,也就是说两个运算执行之后i都是比原来大1,不同的它们都是表达式,表达式++i的值就是i自加后的值,而++i是i自加前的值,同理--i与i--也是这个道理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西门蛤蟆
2009-09-18 · TA获得超过1021个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:0
展开全部
i++就是先用i再++
++i就是先++在用i
++就是+1的意思
...
比如i=3;

b=i++就是说b=3,完成之后让i变成4

b=++i就是先让i++变成4,然后b=4

--就是自减,和上面的++相反
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0cd7dcf
2009-09-18 · TA获得超过138个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:113万
展开全部
i++就是先用i再++
++i就是先++在用i
++就是+1的意思
...
比如i=3;
b=i++就是说b=3,完成之后让i变成4
b=++i就是先让i++变成4,然后b=4
其中++i比i++效率要高些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中朵扬1G
2009-09-18 · 超过17用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:36.4万
展开全部
给你举个例子啊:

int a=0,b=0,i=1;

a = i++;

b = ++i;

那么输出的结果 a=1,b=2;

因为 i++,是先将i的值赋给 a,然后i再+1

++i是先将i+1,也就是2,然后再赋给b

自己体会一下。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式