sum+=i是什么和sum=sum+i有什么区别

请问:sum+=i是什么和sum=sum+i有什么区别!我编了1——100加法的代码,在总和加法代码,为什么“sum+=i”和“sum=sum+i”实现的结果不一样啊?“... 请问:sum+=i是什么和sum=sum+i有什么区别!
我编了1——100加法的代码,在总和加法代码,为什么“sum+=i”和“sum=sum+i”实现的结果不一样啊?
“sum+=i”结果是4139,而“sum=sum+i”才是正确答案!到底有什么区别!望给予解答!
展开
 我来答
小气包
高粉答主

2019-12-07 · 关注我不会让你失望
知道小有建树答主
回答量:1491
采纳率:100%
帮助的人:51.3万
展开全部

没有区别,sum+=i和sum=sum+i 的结果一样。

在C语言中这个属于复合赋值运算符中的一种,表示把左边的变量除于右边变量的值赋予右边的变量 sum=sum+i; 可以简写为 sum+=i;还有 如 sum-=i;sum*=i; /=、%=等。

sum+=i等价于sum=sum+i

sum=sum+i;

如果是SUM+=i++则

sum=sum+i;

i++;

扩展资料

sum+=i的使用

示例:

#include <iostream>

using namespace std;

int main( )
{
int num[ 5 ];

int sum = 0;

for ( int i = 0; i < 5; i++ ) {

cout << "Enter element " << i << ": ";

cin >> num[ i ];

}

for (  i = 0; i < 5; i++ ) 

sum = sum + num[ i ] ;

cout << "The resulting sum is: " << sum << endl;

return 0;
}

liujia880829
2008-09-21
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
举个例子说明一下吧;
int sum=0;i=1;
sum+=i;
printf("\t%d\t%d",sum,i)
在运行程序之前,sum=0;i=1;第一次运行后的结果是sum=0;i=1;
而sum=sum+i;在第一次运行后的结果是sum=1;i=1;
意思就是说在运行后,一个结果还为原来的值,一个已经变化了;
整体的效果是一样的,差别在于运行的次数会多一次或者少一次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d24e7bc
推荐于2017-11-26 · TA获得超过534个赞
知道答主
回答量:36
采纳率:0%
帮助的人:21.2万
展开全部
不知道楼上怎么试出来的,我认为应该是一回事,以前有说sum+=i;比sum=sum+i;少占一个栈内存的,不过现在VC6.0等很多编译器都将其优化了.
是不是你程序的问题,我刚才试了下,sum+=i;和sum=sum+i;结果应该是一样的.
程序如下:
int i,sum1=0;
for(i=1;i<=100;i++)sum1+=i;//改成sum1=sum1+i;结果一样
printf("%d\n",sum1);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
完美125
2019-03-07
知道答主
回答量:7
采纳率:0%
帮助的人:7226
展开全部

几乎没区别,sum=sum+i 等同于sum+=i

看结果

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6d3eddb
2008-09-21
知道答主
回答量:35
采纳率:0%
帮助的人:0
展开全部
两者表达的意思是一样,可能是你的初值没有设置,系统会随机给你一个数值用的 ,如果设定初值,绝对一样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式