
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”才是正确答案!到底有什么区别!望给予解答! 展开
我编了1——100加法的代码,在总和加法代码,为什么“sum+=i”和“sum=sum+i”实现的结果不一样啊?
“sum+=i”结果是4139,而“sum=sum+i”才是正确答案!到底有什么区别!望给予解答! 展开
7个回答
展开全部
没有区别,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;
}
展开全部
举个例子说明一下吧;
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;
意思就是说在运行后,一个结果还为原来的值,一个已经变化了;
整体的效果是一样的,差别在于运行的次数会多一次或者少一次
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;
意思就是说在运行后,一个结果还为原来的值,一个已经变化了;
整体的效果是一样的,差别在于运行的次数会多一次或者少一次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道楼上怎么试出来的,我认为应该是一回事,以前有说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);
是不是你程序的问题,我刚才试了下,sum+=i;和sum=sum+i;结果应该是一样的.
程序如下:
int i,sum1=0;
for(i=1;i<=100;i++)sum1+=i;//改成sum1=sum1+i;结果一样
printf("%d\n",sum1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两者表达的意思是一样,可能是你的初值没有设置,系统会随机给你一个数值用的 ,如果设定初值,绝对一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询