首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
C/C++
C++ 语言
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
用goto退出多重循环是一件很丢人的事吗?
加为好友
发送私信
在线聊天
visame
等级:
可用分等级:
富农
总技术专家分:
2581
总技术专家分排名:
8399
揭帖率:
30.13%
发表于:
2008-01-27 02:12:04
楼主
#########寻找更好的推出多重循环的方法。#################
比如多重for循环,如果不用goto退出,可以用下面比较复杂的方法:
int leave=0;
for(;!leave;)
{
for(;!leave;)
{
for (;!leave;)
{
for(;!leave;)
{
leave=1;
}
}
}
}
问题点数:
10
回复次数:
85
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hityct1
等级:
可用分等级:
富农
总技术专家分:
1836
总技术专家分排名:
11440
发表于:
2008-01-27 08:50:29
1
楼 得分:
0
可以采用异常。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
healer_kx
甘草
等级:
可用分等级:
大地主
总技术专家分:
39016
总技术专家分排名:
225
发表于:
2008-01-27 10:52:41
2
楼 得分:
0
当然是最合适的方式了。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Kenmark
<八音盒>
等级:
可用分等级:
富农
总技术专家分:
15174
总技术专家分排名:
953
发表于:
2008-01-27 11:11:02
3
楼 得分:
0
不同情况可以使用不同的流控制,辅以注释可以使得goto很明了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xi_aowo_happy
xiaowo
等级:
可用分等级:
贫农
总技术专家分:
32
总技术专家分排名:
149326
发表于:
2008-01-27 11:16:06
4
楼 得分:
0
goto会破坏程序的结构,建议最好别用
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
A_B_C_ABC
黄瓜@YouCanDoIt
等级:
可用分等级:
小地主
总技术专家分:
8372
总技术专家分排名:
2305
发表于:
2008-01-27 11:20:42
5
楼 得分:
0
退出多重循环,我赞成使用goto.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
akirya
坏[其实偶不是什么所谓的坏人]
等级:
可用分等级:
富农
总技术专家分:
91562
总技术专家分排名:
59
6
发表于:
2008-01-27 11:42:25
6
楼 得分:
0
我同意使用goto
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ltc_mouse
野地芳菲
等级:
可用分等级:
中农
总技术专家分:
8298
总技术专家分排名:
2338
2
发表于:
2008-01-27 12:12:47
7
楼 得分:
0
原以为goto真的被抛弃了,但看了些WinCE的Sample codes,发现几乎每个函数在出错时都用goto跳转~
也算一种相当优雅的风格,:)
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Mnky
小蒙
等级:
可用分等级:
富农
总技术专家分:
5484
总技术专家分排名:
3908
2
发表于:
2008-01-27 12:20:04
8
楼 得分:
0
这种情况,每次还要判断,不如直接goto。这种情况是goto是唯一好用的地方了,你再不用就浪费了,呵呵
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
doon
vecodo
等级:
可用分等级:
富农
总技术专家分:
2167
总技术专家分排名:
9756
发表于:
2008-01-27 12:42:59
9
楼 得分:
0
goto可以说是专门为这种情况设计的。其实,无论是goto也好还是结构也好,没有什么丢人不丢人之说,只要好就完全可以拿来使用。
当然,goto也有自己的缺点,乱用是不好的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cangwu_lee
橙子
等级:
可用分等级:
小地主
总技术专家分:
25476
总技术专家分排名:
410
3
发表于:
2008-01-27 13:08:10
10
楼 得分:
0
支持ING
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wangyong0921
just4life
等级:
可用分等级:
贫农
总技术专家分:
164
总技术专家分排名:
67063
发表于:
2008-01-27 13:08:12
11
楼 得分:
0
goto只是会破坏程序的结构,并不表明就不能用
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
majia_of_run
对不起,其实我是一个马甲
等级:
可用分等级:
中农
总技术专家分:
138
总技术专家分排名:
74082
发表于:
2008-01-27 13:34:07
12
楼 得分:
0
真遇到这种情况,我会把多重FOR放到一个函数里,要退出时只要return即可
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
shizhiqing2003
等级:
可用分等级:
贫农
总技术专家分:
206
总技术专家分排名:
58317
发表于:
2008-01-27 15:09:36
13
楼 得分:
0
当然可以了!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
kgddqypm_wkl
无量
等级:
可用分等级:
短工
总技术专家分:
14
总技术专家分排名:
200401
发表于:
2008-01-27 16:34:53
14
楼 得分:
0
多重循环这种情况使用GOTO是聪明的……
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Chiyer
星羽
等级:
可用分等级:
中农
总技术专家分:
34488
总技术专家分排名:
271
4
3
3
发表于:
2008-01-27 16:58:53
15
楼 得分:
0
用 goto 吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xdolt
和自己赛跑的蚂蚁
等级:
可用分等级:
长工
总技术专家分:
43
总技术专家分排名:
134062
发表于:
2008-01-27 17:26:27
16
楼 得分:
0
我就喜欢用goto,飘逸!帅!怎么了?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
iambic
等级:
可用分等级:
掌柜
总技术专家分:
22094
总技术专家分排名:
519
4
3
3
发表于:
2008-01-27 18:49:32
17
楼 得分:
0
我看还是挺丢人的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fetag
过儿爱龙儿
等级:
可用分等级:
中农
总技术专家分:
10867
总技术专家分排名:
1783
发表于:
2008-01-27 18:57:11
18
楼 得分:
0
我就喜欢用goto,飘逸!帅!怎么了?
==================
严重同意!我也超级喜欢用goto...
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lin_style
﹏.贾诩(JAVA卧底)
等级:
可用分等级:
乞丐
总技术专家分:
2903
总技术专家分排名:
7232
发表于:
2008-01-27 19:15:46
19
楼 得分:
0
goto 咋用?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Vitin
卫亭
等级:
可用分等级:
小地主
总技术专家分:
4027
总技术专家分排名:
5085
发表于:
2008-01-27 19:25:55
20
楼 得分:
0
用goto中途跳出多重循环确实是合适的方法。与其相比,在每层循环上做判断显得很沉重。
但是,或许需要考虑一下为什么会出现必须使用goto的情况。goto是和结构化编程思维相背的,如果出现必须使用goto的情况,很可能意味着设计本身并没有按照结构化编程来做。所以这不仅是一个程序实现问题,更是一个设计问题。例如,当出现中途跳出多重循环的情况时,不是说不应该用goto,而是说中途跳出的情况本身就不应该出现——假如你是结构化编程的信徒,你需要修改的是设计,而非代码。简而言之,goto和xxx_cast之类的一样,是一种警告,警告你可能违背了某种设计原则。
当然,这并不是说goto不好。因为结构化编程好不好是另一个问题了。如果你并不虔诚于结构化编程,也就没必要对goto敬而远之了,就象汇编程序者不可能避开jump一样。goto是一个标志,它表明C语言在支持结构化编程风格的同时也支持非结构化的编程风格;而C++继承了C语言的这个特性。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
steedhorse
晨星
等级:
可用分等级:
中农
总技术专家分:
82062
总技术专家分排名:
71
2
3
4
发表于:
2008-01-27 19:39:37
21
楼 得分:
0
当然不是啊。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zenny_chen
ACE Intercessor
等级:
可用分等级:
富农
总技术专家分:
2453
总技术专家分排名:
8827
发表于:
2008-01-27 19:48:51
22
楼 得分:
0
巧妙地利用goto可以将复杂的事情变得简单。滥用goto会将简单的问题搞得复杂。
所以在C/C++中使用goto并不是不好。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
citywanderer2005
流浪狗
等级:
可用分等级:
中农
总技术专家分:
547
总技术专家分排名:
30301
发表于:
2008-01-27 22:34:26
23
楼 得分:
0
linux内核中使用goto的语句太多了!
只要使用得当,还是可以用它的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
michney
奈良鹿丸
等级:
可用分等级:
富农
总技术专家分:
2118
总技术专家分排名:
9957
发表于:
2008-01-27 22:56:36
24
楼 得分:
0
goto真的好用,但仅限于错误处理,和多重循环
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
FALLEAFCSHARP
Martin
等级:
可用分等级:
中农
总技术专家分:
745
总技术专家分排名:
24180
发表于:
2008-01-27 22:59:43
25
楼 得分:
0
汇编里只有JMP。用个GOTO不丢人。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
blh
愿逝者安息,生者安康
等级:
可用分等级:
大地主
总技术专家分:
43813
总技术专家分排名:
190
5
3
发表于:
2008-01-27 23:14:15
26
楼 得分:
0
用goto没什么不好,一条语句可以省去很多判断,只要你不要乱使用就行
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hland
Yatou
等级:
可用分等级:
中农
总技术专家分:
208
总技术专家分排名:
57961
发表于:
2008-01-28 05:17:07
27
楼 得分:
0
当然要使用goto啦,绝对效率高,书上叫人别用,那是因为团体合作的原因,自己写自己用的,你就尽量多用吧,越是小的程序,你就越是该用,越大的程序,为避免以后连自己都看不懂,最好别用.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xiongzhb
看星星数月亮
等级:
可用分等级:
短工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-01-28 13:28:18
28
楼 得分:
0
goto是最好的选择,只是我们公司明文规定不准使用goto
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
BluntBlade
天降大任于中华也,必先空乏其身,而后能观。
等级:
可用分等级:
掌柜
总技术专家分:
8264
总技术专家分排名:
2348
发表于:
2008-01-28 13:31:48
29
楼 得分:
0
不应该讨论用不用,而应该讨论怎么用,怎么不滥用。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Cyrosly
该用户很懒,没