免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: piaoyizu
打印 上一主题 下一主题

[C] 问一个关于break的弱问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-07-19 15:19 |只看该作者
以前看别人的程序时,看到这样的代码
for ( i=0; i<10; i++)
    for(j=0; j<10; j++)
        for(k=0; k<10; k++)
{

            if( ... ) break;
}


由于只是跳出最里面一层for,所以在i,j变化的下一个循环会继续的.

所以在满足条件时,可以考虑修改 i j k 到循环范围外
i=10;
j=10;
k=10;
,这样,无需break就跳出了.

论坛徽章:
0
12 [报告]
发表于 2008-07-19 15:32 |只看该作者
调到for外,while内

论坛徽章:
0
13 [报告]
发表于 2008-07-19 15:37 |只看该作者
多谢多谢,了解了.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
14 [报告]
发表于 2008-07-19 15:39 |只看该作者
原帖由 piaoyizu 于 2008-7-19 15:16 发表
OK, 明白了, 就是有点不清楚, 我还以为是 跳出一层大括号域呢.
谢谢几位朋友了.


恩。主要是为了跳出循环。当然也可以考虑使用goto,可以随便跳到某个位置。但在使用时应该慎重。

论坛徽章:
0
15 [报告]
发表于 2008-07-19 15:43 |只看该作者
嗯. 除非在 linux底层驱动编程, 其它的都不用GOTO, 别人会讲你的. 嘿嘿

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
16 [报告]
发表于 2008-07-19 16:25 |只看该作者
原帖由 piaoyizu 于 2008-7-19 15:43 发表
嗯. 除非在 linux底层驱动编程, 其它的都不用GOTO, 别人会讲你的. 嘿嘿



在需要用的地方使用就可以了。别人说就让说去吧。如果使用了goto使你的程序更加容易看懂,那为什么不用呢?

譬如我有A,B,C,D四个函数要顺序执行,任一个执行不正确都要做一些处理,并结束程序。
这时用goto比较方便
if A err
    goto end;
if B err
    goto end;
if C err
    goto end;
if C err
    goto end;

end:
     code

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
17 [报告]
发表于 2008-07-19 16:25 |只看该作者
原帖由 piaoyizu 于 2008-7-19 15:43 发表
嗯. 除非在 linux底层驱动编程, 其它的都不用GOTO, 别人会讲你的. 嘿嘿

别人讲不讲要看你怎么用了。

论坛徽章:
0
18 [报告]
发表于 2008-07-19 16:26 |只看该作者
原帖由 Godbach 于 2008-7-19 16:25 发表



在需要用的地方使用就可以了。别人说就让说去吧。如果使用了goto使你的程序更加容易看懂,那为什么不用呢?

譬如我有A,B,C,D四个函数要顺序执行,任一个执行不正确都要做一些处理,并结束程序。
这时 ...


对 这是IT公司的goto标准使用场景之一
太熟悉了

论坛徽章:
0
19 [报告]
发表于 2008-07-19 16:28 |只看该作者
原帖由 piaoyizu 于 2008-7-19 15:43 发表
嗯. 除非在 linux底层驱动编程, 其它的都不用GOTO, 别人会讲你的. 嘿嘿


no,no,no,  该goto呀就goto,风风火火闯九州呀......啊。

论坛徽章:
0
20 [报告]
发表于 2008-07-19 16:30 |只看该作者
嘿嘿, goto就goto, 不过有时候用真的很好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP