社区
C++ 语言
帖子详情
C++/C能直接跳出外循环
dmhorse
2004-08-23 12:38:23
mysection:
for(;;)
for(;;)
{
if(xxx)
continue mysection;
else
break mysection;
}
能直接跳出外循环吗?
如果不行,有其它曲折的方法吗
...全文
1078
29
打赏
收藏
C++/C能直接跳出外循环
mysection: for(;;) for(;;) { if(xxx) continue mysection; else break mysection; } 能直接跳出外循环吗? 如果不行,有其它曲折的方法吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
29 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
libbyliugang
2004-08-28
打赏
举报
回复
goto要谨慎使用但不是说“千万不使用”;
在现代程序设计语言中goto并没有完全消失;
需要goto ,是因为在程序的非结构化控制(在
对硬件编程中用的比较多)和与低级语言进行接
口时,用goto非常方便;
版主的问题属于程序的非结构化控制;用goto
是理所当然的;若采取其他方法并非不可行;
而是,反而提高了程序的复杂度,代码反而
更难读!
建议版主将含有goto语句的代码封装成函数,
这样既保持了结构化程序设计的原则,又不会使
由于使用了许多goto而使程序难于阅读!
linuxgyh
2004-08-28
打赏
举报
回复
goto
你写的好象csharp/java程序!
短歌如风
2004-08-27
打赏
举报
回复
当需要跳出多层嵌套循环(个人认为至少在三层以上)时,用goto是一个很好的选择,因为这时它比在多层循环中都去判断一个标志更好理解。goto并不总是影响可读性,这也是在C和Pascal中保留goto的原因——虽然这种情况并不见。
如果不使用goto而使用标志,也不要用break语句而要把对标志的检查放到循环条件中去。break只跳出一层循环,continue结束一次循环,它们与用标志相比并没有优点,却与goto一样破坏了块结构,是真正的“有破坏无建设”,它们才是最不应该使用的。
LarryKun
2004-08-27
打赏
举报
回复
setjmp.........longjmp
肯定可以的~~
toni_07
2004-08-27
打赏
举报
回复
我也觉得内部的for只要执行一次,为什么还要用呢。不明白
julysnowcn
2004-08-27
打赏
举报
回复
是啊,在这儿还是用goto好!
duckdj
2004-08-27
打赏
举报
回复
感觉这里用goto比较合适
qiuafa
2004-08-27
打赏
举报
回复
内外对调!
DiabloWalkOnTheEarth
2004-08-27
打赏
举报
回复
必要的时候用连 longjmp 我都用,何况是 goto
sungengyu
2004-08-27
打赏
举报
回复
goto 只有在跳出多重循环时才有点用。为何不用?
活人还能被for憋死?
sungengyu
2004-08-27
打赏
举报
回复
goto 只有在跳出多重循环时才有点用。为何不用?
活人还能被goto憋死?
庄鱼
2004-08-26
打赏
举报
回复
用goto,当然变量也不错:
bool key=true;
for(;key;)
for(;key;)
{
mysection;
if(!xxx)
key=false;
}
snow810211
2004-08-26
打赏
举报
回复
不能跳出·!
可以用goto语句~~goto语句不推荐过多地使用,但是在这里可以增强程序的可读性!为什么不用呢:)
baiyuanfan
2004-08-26
打赏
举报
回复
编译后还不都是GOTO还。
goodluckyxl
2004-08-23
打赏
举报
回复
其实很多逻辑控制的方法跳出
设置时间,循环次数,跳出标志...
楼主这要看实际需要,不是死的
sisijin
2004-08-23
打赏
举报
回复
是想实现这个功能吗?
mysection:
for(;;)
{
bool flag = true;
for(;;)
{
if (xxx)
break;
else
{
flag = false;
break;
}
}
if (!flag)
break;
}
不过我不太明白,这样子看起来似乎内部的for只会走一次啊,那为什么还要用for呢?楼主是不是有笔误?
Andy84920
2004-08-23
打赏
举报
回复
不能跳出外层for循环.
1>goto.不推荐.
2>return;直接退出.可能达不到你的目的
3>可以用变量来控制.比如在里层for中的else中设置一个bool变量为true.(当然一开始是
false的)然后在外层for中判断此变量是真是假.再来一次break.就行.
limitmx
2004-08-23
打赏
举报
回复
goto安全性欠缺,还是设置个bool变量判断吧
一路奔跑
2004-08-23
打赏
举报
回复
我做过的几个项目里好象一直没想过 goto。
NC217
2004-08-23
打赏
举报
回复
如果你用 for(;;)
就可以用break;语句
也可以用exit();
加载更多回复(9)
简单举例说明
C++
中break和continue语句的用法
实际上,break语句还可以用于
循环
体内。break语句的一般格式为: break; 其作用为使流程从
循环
体内
跳出
循环
体,即提前结束
循环
,接着执行
循环
体下面的语句。break语句只能用于
循环
语句和switch语句内,不能单独使用或用于其他语句中。 continue语句的一般格式为: continue; 其作用为结束本次
循环
,即跳过
循环
体中下面尚未执行的语句,接着进行下一次是否执行
循环
的判定。 continue语句和break语句的区别是:continue语句只结束本次
循环
,而不是终止整个
循环
的执行。而break语句则是结束整个
循环
过程,不再判断执行
循环
的条件是否成立。 程序
Java
跳出
多重嵌套
循环
在java里面,我们知道有goto这个关键字,但是实际却没有啥作用,这让我们不像在c/
c++
里面能够随便让程序跳到那去执行,而break只能
跳出
当前的一个
循环
语句,如果要
跳出
多个
循环
体那么该怎么办呢。 我们可以这样解决: 我们可以在
循环
体开头设置一个标志位,也是设置一个标记,然后使用带此标号的break语句
跳出
多重
循环
。 public class BreaklFor { public static void main(String args[]){ OK: //设置一个标记 使用带此标记的break语句
跳出
多重
循环
体 for(int i
shell中select…in
循环
语句
1.select in语句 select in
循环
用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能 select in 是 Shell 独有的一种
循环
,非常适合终端(Terminal)这样的交互场景,C语言、
C++
、Java、Python、C# 等其它编程语言中是没有的 Shell select in
循环
的用法如下: select variable in value_list do statements done variable 表示变量,value_list 表示取值列表,in 是 Shell 中的关键字 eg: #!/bin
c语言中怎么
跳出
两层
循环
,C/
C++
——C语言
跳出
多重
循环
方法
c语言的break语句只能
跳出
离它最近的一层
循环
,但是我们有时候需要
跳出
多层
循环
,以下有几种
跳出
多重
循环
的方法:1. 使用gotofor (int i = ; i < MAX1; i++){for (int j = ; j < MAX2; j++){if (condition){symbol = ;goto outloop;}}}outloop://somecode2. 写成函数 re...
break怎么
跳出
多层
循环
C语言,C/
C++
跳出
多重
循环
方法
C/
C++
跳出
多重
循环
方法c语言的break语句只能
跳出
离它最近的一层
循环
,但是我们有时候需要
跳出
多层
循环
,以下有几种
跳出
多重
循环
的方法:1. 使用gotofor (int i = 0; i MAX1; i++){for (int j = 0; j MAX2; j++){if (condition){symbol = 1;goto outloop;}}}outloop://somecode2...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章