标题:[求助]赋值问题:两个地方赋值,为什么结果会不一样呢
只看楼主
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
 问题点数:0 回复次数:4 
[求助]赋值问题:两个地方赋值,为什么结果会不一样呢

下面两个程序,结果为什么会不一样呢????


#include<iostream.h>
int main()
{
int i=1,j;
int sum=0,total=1;
while(i<=10)
{

for(j=1;j<=i;j++)
total*=j;
sum+=total;
i++;
}
cout<<"sum ="<<sum;
return 0;
}


#include<iostream.h>
int main()
{
int i=1,j;
int sum=0,total;
while(i<=10)
{
total=1;
for(j=1;j<=i;j++)
total*=j;
sum+=total;
i++;
}
cout<<"sum ="<<sum;
return 0;
}

搜索更多相关主题的帖子: 赋值 int sum 结果 
2007-05-03 10:57
余来
Rank: 6Rank: 6
等 级:贵宾
威 望:26
帖 子:956
专家分:18
注 册:2006-8-13
得分:0 
当然不一样,第二个中,每次for循环后,到while循环,total重新赋值为1,当进入
for循环时候,又时从1开始记录1-i的皆乘,而第一个,就是从上次结束是算起

2007-05-03 11:08
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
得分:0 
明白了~
谢谢
2007-05-03 11:59
gwdeath
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-12-14
得分:0 

赋值的时候千万要小心变量初始化语句的位置,写在循环体内有时会造成意想不到的结果,而且有时很难查出错误

2007-05-03 21:47
norlan
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-5-3
得分:0 
thank you
2007-05-04 21:37



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




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

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