怎么跳出这个for循环

while(!feof(FpIp)){...for(k=0;k<CNUM;k++){if(0==memcmp(cnty[k].CntName,addr,4)){cnty[... while(!feof(FpIp))
{
...

for(k=0;k<CNUM;k++)
{
if( 0 == memcmp(cnty[k].CntName ,addr,4) )
{
cnty[k].Num++;
}
}

}

当memcmp为0时,怎么跳出for循环,但不跳出while循环

PS:不用goto语句,据说用goto向上跳转容易形成死循环
break; //加上这句

我开始也是这么想的,没问题吗?是跳出for循环吗?
展开
 我来答
鄙视04号
高粉答主

推荐于2019-08-14 · 醉心答题,欢迎关注
知道小有建树答主
回答量:1158
采纳率:98%
帮助的人:226万
展开全部

在for循环语句中执行break语句,即可跳出该for循环。

break 在一些计算机编程语言中是保留字,其作用大多情况下是终止所在层的循环。在 C语言 的 switch(开关语句)或for循环语句中,break 语句可用来在执行完一个语句后结束当前 switch 结构(或for循环结构)。简言之,执行break语句会跳出当前循环。例如语句:

while(!feof(FpIp)) 

{

...

for(k=0;k<CNUM;k++)

{

if( 0 == memcmp(cnty[k].CntName ,addr,4) ) 

{

cnty[k].Num++;

else break;//跳出循环

}

}

则当memcmp为0时,跳出for循环,但不跳出while循环。

扩展资料:

起到“中断”循环语句作用的除了有break,还有continue语句,二者容易混淆。

一、continue的用法:

continue在C++、C#中有所使用,其作用为结束本次循环。即跳出循环体中下面尚未执行的语句,对于while循环,继续求解循环条件。而对于for循环程序流程接着求解for语句头中的第三个部分expression表达式。

二、break和continue的区别为:

1、作用不同:

continue 语句和 break 语句的区别是,continue 语句只结束本次循环,而不是终止整个循环。break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

2、起作用的地方不同:

continue 只能在循环语句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何语句中使用。break语句除了能在以上所述循环结构中使用,还能使用于switch结构。

参考资料:

break-百度百科

continue-百度百科

百度网友e273eb4
2018-05-22 · TA获得超过1万个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:5.9万
展开全部
for(k=0;k<CNUM;k++)
{
if( 0 == memcmp(cnty[k].CntName ,addr,4) )
{
cnty[k].Num++;
break; //加上这句
}
}
要想退出某个循环,只要在那个循环的语句块里面,按照你的逻辑,出现一个break就行!要是两层循环,都要跳出,那就出现两个break!

for(1)
{
for(2)
{
break;//这个是for(2)所属的break,遇到这个break就跳出for(2)
}
break;//这个是for(1)所属的break,遇到这个break就跳出for(1)

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南蛮王
2010-03-19 · TA获得超过178个赞
知道答主
回答量:129
采纳率:0%
帮助的人:57.9万
展开全部
要想退出某个循环,只要在那个循环的语句块里面,按照你的逻辑,出现一个break就行!要是两层循环,都要跳出,那就出现两个break!

for(1)
{
for(2)
{
break;//这个是for(2)所属的break,遇到这个break就跳出for(2)
}
break;//这个是for(1)所属的break,遇到这个break就跳出for(1)

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahaubit
2010-03-19 · TA获得超过1453个赞
知道小有建树答主
回答量:637
采纳率:0%
帮助的人:771万
展开全部
while(!feof(FpIp))
{
...

for(k=0;k<CNUM;k++)
{
if( 0 == memcmp(cnty[k].CntName ,addr,4) )
{
cnty[k].Num++;
break; // 加上这句

}
}

}

注意 break 和 continue 区别;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dzdsyang
2010-03-19
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
if( 0 == memcmp(cnty[k].CntName ,addr,4) )
{
cnty[k].Num++;
break;//跳出for循环
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式