c++ for 语句中的continue疑问

有代码如下:#include<iostream.h>intmain(){inta,b;for(a=1,b=1;a<=100;a++){b++;if(b==3)break;... 有代码如下:
#include<iostream.h>
int main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
b++;
if(b==3)break;
if(b==2)continue;
}
cout<<"a="<<a<<endl;
return 0;
}
按照书本对for语句的说明,上面语句可改写为
#include<iostream.h>
int main()
{
int a,b;
a=1,b=1;
for(;a<=100;)
{
b++;
if(b==3)break;
if(b==2)continue;
a++;
}
cout<<"a="<<a<<endl;
return 0;
}
可是这样做的话两次输出结果不同 到底是哪里有问题呢?
#include<iostream.h>
int main()
{
int a,b;
a=1,b=1;
for(;a<=100;)
{
b++;
if(b==3)break;
if(b==2)continue;
a++;
}
cout<<"a="<<a<<endl;
return 0;
}

书本说:for语句可改写为
语句1;
for(;表达式2;)
{
循环体;
表达式3;
}
展开
 我来答
子爵先生
2010-11-13 · TA获得超过1674个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:570万
展开全部
因为你改过的程序永远没有执行a++这条语句,你把
if(b==2) continue;
a++;
改成
if(b==2)
{
a++;
continue;
}
就好了
303747619
2010-11-13 · TA获得超过183个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:108万
展开全部
修改后的程序中的a++;语句要放在if(b == 2) continue;语句前面。这是因为,当执行continue语句后,后面的语句都不再执行,进入下次循环中。整体修改的标准程序应为:
#include<iostream.h>
int main()
{
int a,b;
a=1,b=1;
for(;a<=100;)
{
b++;
if(b==3)break;
a++;
if(b==2)continue;
}
cout<<
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wlfd1234
2010-11-13 · TA获得超过1075个赞
知道小有建树答主
回答量:618
采纳率:0%
帮助的人:510万
展开全部
303747619 是对的,子爵的应该在最后再加上一个 a++才行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式