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

来源:百度知道 编辑:UC知道 时间:2024/06/25 23:09:43
请问:sum+=i是什么和sum=sum+i有什么区别!
我编了1——100加法的代码,在总和加法代码,为什么“sum+=i”和“sum=sum+i”实现的结果不一样啊?
“sum+=i”结果是4139,而“sum=sum+i”才是正确答案!到底有什么区别!望给予解答!

不知道楼上怎么试出来的,我认为应该是一回事,以前有说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);

举个例子说明一下吧;
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;
意思就是说在运行后,一个结果还为原来的值,一个已经变化了;
整体的效果是一样的,差别在于运行的次数会多一次或者少一次

两者表达的意思是一样,可能是你的初值没有设置,系统会随机给你一个数值用的 ,如果设定初值,绝对一样的

一回事。
你把你程序发上来看看。

两者表达的意思是一样的啊, 不晓得你的程序是怎么写的