免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 24447 | 回复: 30
打印 上一主题 下一主题

[C] 在do{}while中使用break还是goto? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-22 10:41 |只看该作者 |倒序浏览
听说有do {...break...} while (false) 这种写法, 但是ANSI C好像只允许在switch语句中使用break?

[ 本帖最后由 dl1987 于 2009-7-22 10:48 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-07-22 10:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2009-07-22 10:53 |只看该作者
原帖由 jamesr 于 2009-7-22 10:50 发表
break可以用在所有循环语句中。


刚刚翻了下书, 确实是, 是以前看的马虎了, "ANSI C写break只能用在循环语句和switch语句中"

[ 本帖最后由 dl1987 于 2009-7-22 10:57 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-07-22 13:06 |只看该作者
c99 的原文

6.8.6.3 The break statement
constraints
1 A break statement shall apper only in or as a switch body or loop body.

semantics
2 A break statement terminattes execution of the smallest enclosing switch or iteration statement
//------------------------------------------------------------------------------------------
1break语句应该出现在 switch或者循环体内
2break终结最进的封闭体 {}  


c99里面规定的可以。。。。
而且规定是规定 编译器的作者也是有个性的 规定的不合理 我就不按照你说的干 你咬我

论坛徽章:
0
5 [报告]
发表于 2009-07-22 19:26 |只看该作者
break可以跳出所有类型的当前级层循环体

论坛徽章:
0
6 [报告]
发表于 2009-07-22 19:33 |只看该作者
使用GOTO可以跳到任何想跳的地方

论坛徽章:
0
7 [报告]
发表于 2009-07-22 20:18 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2009-07-22 21:47 |只看该作者
原帖由 chinesedragon 于 2009-7-22 19:33 发表
使用GOTO可以跳到任何想跳的地方

很多标准都限制使用它,主要就是因为它使程序更难理解

论坛徽章:
0
9 [报告]
发表于 2009-07-22 21:50 |只看该作者
力挺goto!
你用错了goto就要勇于承担责任,别说是goto的错!
另外,goto不是万能的,跨文件跳不过去。

论坛徽章:
3
天蝎座
日期:2014-10-25 13:44:312015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:48:31
10 [报告]
发表于 2009-07-22 22:19 |只看该作者
原帖由 prolj 于 2009-7-22 21:50 发表
力挺goto!
你用错了goto就要勇于承担责任,别说是goto的错!
另外,goto不是万能的,跨文件跳不过去。


低调的表示赞同,



最好不要引起争论。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP