打印
[AVR单片机]

C语言continue和break有的区别

[复制链接]
2462|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qin552011373|  楼主 | 2013-8-9 10:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
continue语句用来返回循环的起始处,而break语句用来退出循环。例如,下例中就有一条典型的continue语句:
    while(!feof(infile))
    {
       fread(inbuffer,80,1,infile);/*read in a line from input file*/
       if(!strncmpi(inbuffer,"REM",3))  /*check if it is
                                             a comment line*/
       continue;    /*it's a comment,so jump back to the while()*/
       else
      parse_line();    /*not a comment—parse this line*/
    }
上例读入一个文件并对其进行分析。“REM(remark的缩写)”用来标识正在被处理的文件中的一个注释行。因为注释行对程序不起任何作用,所以可以跳过它。在读入输入文件的每一行时,上例就把该行的前三个字母与"REM"进行比较。如果匹配,则该行就是注释行,于是就用continue语句返回到while语句,继续读入输入文件的下一行;否则,该行就是一条有效语句,于是就调用parse_line()函数对其进行分析。

break语句用来退出循环。下面是一个使用break语句的例子:
while (! feof(infile))
     fread(inbuffer,80,1,infile) ;/* read in a line from input file * /
     if (! strncmpi (inbuffer,"REM",3))  / * check if it is
                                                           a comment line * /
           continue;       /* it's a comment, so jump back to the while() * /
     else
     {
           if (parse_line()==FATAL_ERROR)   / * attempt to parse
                                                                    this line * /
              break;                 /* fatal error occurred,so exit the loop * /
     }
    这个例子建立在使用continue语句的那个例子的基础上。注意,在这个例子中,要检查parse_line()函数的返回值。如果parse_line()的返回值为FATAL_ERROR,就通过break语句立即退出while循环,并将控制权交给循环后面的第一条语句。
评分
参与人数 1威望 +3 收起 理由
fangxingyi + 3

相关帖子

沙发
shenpingbing| | 2013-8-12 08:17 | 只看该作者
解释得很不错

使用特权

评论回复
板凳
smckay| | 2013-8-20 11:38 | 只看该作者
這兩條語句不注意會犯很大的錯誤

使用特权

评论回复
地板
smckay| | 2013-8-20 11:38 | 只看该作者
收藏了

使用特权

评论回复
5
Mcuzone_xyz| | 2013-11-22 12:42 | 只看该作者
不错的

使用特权

评论回复
6
ayb_ice| | 2013-11-27 09:11 | 只看该作者
完全不同的东西嘛
一个立马继续, 一个立马中断退出

使用特权

评论回复
7
qin552011373|  楼主 | 2013-11-27 09:47 | 只看该作者
ayb_ice 发表于 2013-11-27 09:11
完全不同的东西嘛
一个立马继续, 一个立马中断退出

防止搞混了,就在这里放一下了

使用特权

评论回复
8
戈卫东| | 2013-11-29 12:08 | 只看该作者
contiune是跳过循环中后面的语句开始下一圈循环,break是直接跳出嘛.....

使用特权

评论回复
9
戈卫东| | 2013-11-29 12:09 | 只看该作者
这个不可能搞混的吧......

使用特权

评论回复
10
qin552011373|  楼主 | 2013-11-29 16:24 | 只看该作者
戈卫东 发表于 2013-11-29 12:09
这个不可能搞混的吧......

一切皆有可能

使用特权

评论回复
11
前功尽弃| | 2013-12-3 15:05 | 只看该作者
飘过:victory:

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:勿在浮沙筑高台。 广州电子工程师朋友交流群,电子行业相关朋友交流技术,畅谈未来,活动聚会交友群。21ic广州网友联谊群:462553656

427

主题

4543

帖子

11

粉丝