C语言中sum+=++i;是是什么意思?

 我来答
百度网友ca560fe
2019-10-30 · TA获得超过2.3万个赞
知道答主
回答量:70
采纳率:100%
帮助的人:3万
展开全部

sum+=++i的意思就是 sum=sum+(++i);++i也是一种运算,等价于i=i+1,取i加1后的结果。相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。

postfix-expression ++,后缀自增

postfix-expression --,后缀自减

扩展资料:

优先级:

C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。

结合性:

C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。

如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。

如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。

参考资料来源:百度百科-C语言运算符号

123范超5476
推荐于2017-11-26
知道答主
回答量:16
采纳率:0%
帮助的人:15.7万
展开全部
像这种问题,如果熟悉汇编就很好解释
sum+=++i虽然下面几楼说得没错,等效
i=i+1;
sum=sum+i;
但是这只是其中一种简单情况,试想sum+=i+i++;和sum+=++i+i++;这种情况,不同编译器甚至输出结果不一样,但无论结果多少,如果懂汇编就很好解释,就你这题而言,打开编译器的反汇编,可以看到编译后的结果为
8: sum+=++i;
00401036 mov eax,dword ptr [ebp-8]
00401039 add eax,1
0040103C mov dword ptr [ebp-8],eax
0040103F mov ecx,dword ptr [ebp-4]
00401042 add ecx,dword ptr [ebp-8]
00401045 mov dword ptr [ebp-4],ecx
其中,dword ptr [ebp-8]是存放在堆栈中的局部变量i,
而dword ptr [ebp-4]是存放在堆栈中的局部变量sum
这样,前3行就是eax=i;eax=i+1; i=eax;也就是i=i+1
而后3行就是ecx=sum;ecx=i+sum;sum=ecx,不正是sum=sum+i吗?
建议看看汇编的东西,这样可以解释很多无法解释的问题
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凤付友香庚
2019-11-05 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:799万
展开全部
在C语言中这个属于复合赋值运算符中的一种,表示把左边的变量除于右边变量的值赋予右边的变量
sum=sum+i;
可以简写为
sum+=i;还有

sum-=i;sum*=i;
/=、%=等等,很多,样的表示方法可以让程序更加简洁。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
皇甫正信前彦
2019-09-14 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:601万
展开全部
sum是用来求和的
sum+=1/i
分解开来就是sum
=
sum+1/i
也就是说每次
sum都在本身已经有的基础上再加上一个1/i
比如说
第一次
sum=0
sum+=1/i
也就是说
sum=0+1/1=1
第二次
sum=1
sum+=1/i
也就是说
sum=1+1/2=3/2
.........
一直这样累加到循环终止为止
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ciengwu
2014-04-28
知道答主
回答量:19
采纳率:0%
帮助的人:2.4万
展开全部
即sum=sum+(++i) 即等价于 i=i+1;sum=sum+i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式