++i和i++有什么区别

 我来答
茫茫路远何处去
2014-11-14 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:41.3万
展开全部
i的值都会加1,区别是表达式的值不一样。前者值为i+1 后者为i。表达式的值就是运算符和运算数整体的结果值,比如 1+1 ,2*3,-1,变量+2,-变量。
更多追问追答
追问
如果i=1,a=(i++)+(++i)+(++i),那a是多少,i是多少π_π
追答
i为4 a为5
nancycti
2014-11-14 · TA获得超过282个赞
知道答主
回答量:35
采纳率:0%
帮助的人:41.9万
展开全部
区别在于先自加还是后自加,如
java为例子
++i是先加再运算
int i=1;
System.out.println(++i+1);
System.out.println(i);
结果显示
3( ++i+1先运算了i自己加,i=2然后再+1=3)
2
i++是运算完再自加1
int i=1;
System.out.println(++i+1);
System.out.println(i);
结果显示
2( 先运算i+1显示结果为2,然后再i自加)
2(自加1后变了2)

总结;++i是自加后再做运算,i++是做完运算后才自加。
追问
如果i=1,a=(i++)+(++i)+(++i),那a是多少,i是多少π_π
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
i_Bugs
2014-11-14 · 超过16用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:23万
展开全部
i=1;

相同点:
对于i本身是没有任何区别,执行过后都会自增加,即i=2

不同点:
a=(++i),b=(i++)作为整个表达返回值是不同的
前者a返回值是a=i+1=2,
后者b的返回值是b=i=1,然后i自身加1
追问
如果i=1,a=(i++)+(++i)+(++i),那a是多少,i是多少π_π
追答
这个问题其实存在一个陷阱,涉及到执行顺序,不同编译器可能的运算执行顺序是不一样的。

假如执行顺序是从左到右

(i++)+ (++i) + (++i)
1 + 3 + 4 = 8
i=2 i=3 i=4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青蛙弗兰0054
2014-11-14 · 超过69用户采纳过TA的回答
知道答主
回答量:196
采纳率:50%
帮助的人:128万
展开全部
简单的来说,++i 和 i++,在单独使用时,就是 i=i+1。
而 a = ++i,相当于 i=i+1; a = i;
而 a = i++,相当于 a = i; i=i+1;

如果实在搞不明白++ --怎么回事,那也不是什么事。
因为a=++i完全可以写成 i++; a=i。
a=i++完全可以写成 a=i; i++。
追问
如果i=1,a=(i++)+(++i)+(++i),那a是多少,i是多少π_π
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式