| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 570 人关注过本帖
标题:求大神给我详细的讲一下他们的区别。
只看楼主 加入收藏
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
结帖率:100%
收藏
已结贴  问题点数:3 回复次数:6 
求大神给我详细的讲一下他们的区别。
continue和break的区别??
搜索更多相关主题的帖子: continue 
2013-08-18 19:51
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:0 
这个书上解释的很详细啊!看看书吧

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-08-18 19:55
XiaoXiao_Ren
Rank: 3Rank: 3
来 自:西安
等 级:论坛游侠
威 望:1
帖 子:80
专家分:198
注 册:2013-7-17
收藏
得分:0 
回复 楼主 jg658237
break——>跳出循环【注意是循环,必须是循环】
continue——>跳过当前的循环,继续下一次循环

【【【  比如  】】】
A;
for(i=0; i<8; i++)
{
   if(A)
  {
    break;  //则结束for循环,继续下面的 C语句操作。
  }else{
    continue; //假如当前的i=4, 如果进入else中,则下面的 B语句不再运行,而是直接跳过,
              //之后继续for的i++,判断i<8,即接着循环做i=5的相应操作
  }
  B;
}
C;

否极泰来
2013-08-18 22:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
switch也有break,未必总在循环,嘿嘿~

授人以渔,不授人以鱼。
2013-08-18 23:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
有时学一学英文是好事。break,是折断、打断、中断、跳出的意思,亦即不再沿着惯性轨道运行,中断当前的动作,转而去做别的事。这个单词用作程序流程的语句,就按原文意义理解(这正是书上反复劝告程序员一定给标识符起个有意义名字的原因),当用在循环中(不管是for循环,还是do、while、foreach等各种各样的循环),就是中断循环动作,跳到外面去,接着你指定循环结束后的后续动作,当用在switch分支判断树中,仍然是中断当前的循序判断一系列条件的作用,从这里跳出去了,后面的case判断就跳过了。明白这个单词的意思,自然明白语句的作用,这就叫代码自注释,不用另写注释的——看看很多初学者那些注释就知道了,那叫重复注释,不提倡的。

continue更简单,就是继续的意思,亦即从这里马上跳到循环动作的开始,仍然是不执行后面的语句了。与break的区别,就是continue跳到循环迭代的里面开始点,break则是跳到外面去,一个是内,一个是外,很容易分辨的,在内当然是重复动作了。

授人以渔,不授人以鱼。
2013-08-18 23:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
在有些语言中,break用exit替代,continue用loop替代,这些单词就更明显了,稍微懂点英文就知道。

授人以渔,不授人以鱼。
2013-08-18 23:45
我爱敲代码
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:70
专家分:165
注 册:2013-4-23
收藏
得分:0 
//break是结束整个循环体,continue是结束单次循环

比方说:

while(x++ < 10)
{
    if(x == 3)
    {
        break;
    }
    printf("%d\r\n", x);
}
结果是输出  1 2   就退出了整个while循环


但是如果使用continue
while(x++ < 10)
{
    if(x == 3)
    {
        continue;
    }
    printf("%d\r\n", x);
}
结果是:1 2 4 5 6 7 8 9 10  可见他仅仅是不输出3,因为他结束了本次循环
2013-08-18 23:55
快速回复:求大神给我详细的讲一下他们的区别。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016937 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved