C++里面的for语句与do-while语句相互替代问题

来源:百度知道 编辑:UC知道 时间:2024/07/06 11:09:03
这个是do-while:运行没有问题
#include<iostream>
using namespace std;
int main()
{
int i(1),sum(0);
do{
sum+=i;
i++;
}while(i<=10);
cout<<"sum="<<sum<<endl;
}
下面是FOR语句:运行时出错了,请问怎么修改成跟上面那个运行结果一样的
#include <iostream>
using namespace std;
int main();
{
int i,sum;
sum=0;
for(i=1;i<=10;i++)
sum=sum+i;

cout<<"sum="<<sum<<endl;
}

用do...while时,要注意,是执行了do里面的语句后再进行while后面的条件判断。如题,当i=11时,执行{sum+=i; i++;}再判断while(i<=10)不满足,才退出循环,即是sum加到了11。
而for循环则不是如此,当i=11时,不满足i<=10,直接退出,就不执行后面的语句sum=sum+i;了。所以,这里sum只加到了10.
你应该这样改:在do...while循环中,把while的条件改为while(i<10),还有下面for循环程序中,有语法错误:去掉int main()后面的分号。
希望能帮助你。

看着好像是你的for循环语句写错了吧,仔细看看,查查资料吧!

貌似运行的结果应该是一样的....

如二楼所说

int main();

后面多了个;

没错,是你main()后面多个个分号。。

你在main()后面多加了分号