标题:关于算术运算小问题,求大神们指点一下!
只看楼主
missyaya0201
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-6-7
结帖率:100%
已结贴  问题点数:20 回复次数:6 
关于算术运算小问题,求大神们指点一下!
原题目是这样的:
已知"int i=5;",则执行语句"i+=--i;"后,i的值是?
答案是:8

我怎么算都不是8啊?
i+是什么意思?书上说了i++和++i的意思,但是没有i+啊?
2015-06-08 19:01
神锋无影
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2015-6-7
得分:4 
+=是一个符号,i+=a意思是i=i+a.
2015-06-08 19:33
阿盼
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2015-4-19
得分:4 
这个运算从左向右执行j=--i先将i减1,此时i的值为4,j为4;然后i=i+j即4+4=8
2015-06-08 19:50
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
得分:4 
+=运算符会先运算右边的,--i会将i变成4,再计算i+i=8
2015-06-08 20:03
幻想乡流浪者
Rank: 2
来 自:种花家
等 级:论坛游民
帖 子:27
专家分:21
注 册:2015-6-6
得分:4 
++i是先进行加运算在赋值,i++是先赋值在进行加运算。
就是i++会先令i=5,在进行i+1;++i则是先进行i+1,在另i=运算结果

[ 本帖最后由 幻想乡流浪者 于 2015-6-8 21:45 编辑 ]
2015-06-08 21:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:4 
未定义行为
2015-06-09 08:18
继续编写
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2015-6-2
得分:4 
回复 楼主 missyaya0201
--i就是i先自减1再用i运算,所以时4 += 4就是i = 4 + 4为8
2015-06-09 09:52



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




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

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