对于双重for循环时,如何用break退出,,求大神解说 ~~

legend306 2012-11-16 03:59:09
for(b1=y2;b1<y2+4;b1++)
for(a1=x2;a1<x2+4;a1++)
{
if(state[b1][a1]==0)
break;

else
sumpr1+=state[b1][a1];
}
...全文
19724 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2015-06-17
  • 打赏
  • 举报
回复
void myfun() {
for(b1=y2;b1<y2+4;b1++)
for(a1=x2;a1<x2+4;a1++)
{
if(state[b1][a1]==0)
return;

else
sumpr1+=state[b1][a1];
}
}
ForestDB 2015-06-15
  • 打赏
  • 举报
回复
这是用goto的典型场景。
leee7338 2015-06-15
  • 打赏
  • 举报
回复
楼主若果看完break return continue exit()的用法就会明白的。
xun-ming 2015-06-15
  • 打赏
  • 举报
回复
学习了,一个标记就能搞定
legend306 2012-11-16
  • 打赏
  • 举报
回复
感谢大神们,,我可以结贴了
转角天边 2012-11-16
  • 打赏
  • 举报
回复
引用 4 楼 longburulin 的回复:
C/C++ code?1234567891011121314151617int flag=0;for(b1=y2;b1<y2+4;b1++){ for(a1=x2;a1<x2+4;a1++) { if(state[b1][a1]==0) { flag=1; break; } else ……
4楼正解
buyong 2012-11-16
  • 打赏
  • 举报
回复

for(b1=y2;b1<y2+4;b1++)
{
    for(a1=x2;a1<x2+4;a1++)
    {
        if(state[b1][a1]==0) break;
        else sumpr1+=state[b1][a1];
    }
    if(a1<x2+4) break;
}
longburulin 2012-11-16
  • 打赏
  • 举报
回复

int flag=0;
for(b1=y2;b1<y2+4;b1++)
{
   for(a1=x2;a1<x2+4;a1++)
   {
      if(state[b1][a1]==0)
      {
         flag=1;
         break;
       }
       else
       sumpr1+=state[b1][a1];
    }
    if(flag==1)
     break;
} 
legend306 2012-11-16
  • 打赏
  • 举报
回复
我是想在第一个if条件满足的时候,直接就退出两个循环了。。。。 两个for连一起的,考虑到有当If条件不满足的时候,连续的break好像不好加,所以来提问~~ 可能是我不知道怎么加
manxiSafe 2012-11-16
  • 打赏
  • 举报
回复
一个for 对应一个 break 两个 就 写两个 break 啊 也可以用 goto 如果是结束函数的话 直接 return 就可以了
baichi4141 2012-11-16
  • 打赏
  • 举报
回复
基本的方法是连续break 对自己掌控程序的能力比较自信的话,直接goto,虽然这个关键字因为可能破坏程序结构而被广泛批评,但用于异常错误处理等情形也是颇受好评的

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧