宝福鸭脖熟食店电话:为什么同一条程序出来的结果会不同??奇怪!!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 13:26:31
我计算两个数字之间的和时写程序:
#include<iostream.h>
int main()
{
int start,end,result=0;
cout<<"请输入较大的数字:";
cin>>start;
cout<<"请输入较小的数字:";
cin>>end;
for(;start<end;start+=1,result+=start);
cout<<"两数间所有整数的和为:"<<result;
return 0;
}
输入start=1,end=10时,
结果是:55
然后将第九行改为:for(;start<=end;start+=1,result+=start);
结果是:65
最后我再改回:for(;start<end;start+=1,result+=start);
结果居然是:54
我用计算机算出来的结果是:54
为什么会那么奇怪??真让我百思不得奇解!!
求高手帮帮忙!!我是个初学者,这么简单的问题都解决不了的话,以后的课程真的没办法再学下去!!

呵呵,你再试试,我用VC++6.0按你说的测试,
for(;start<end;start+=1,result+=start); 输出54
for(;start<=end;start+=1,result+=start);输出65
没有55输出,是不是你的运行环境有问题?

for(;start<=end;result+=start,start++);
这是计算start到end的所有数的和(包括start和end)
注意第二个分号后面的两句,是从左到右执行的,你把start+=1放在前面的话,1就没有被加进去