| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5289 人关注过本帖, 1 人收藏
标题:如何用break和continue
只看楼主 加入收藏
段璐恒
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-3-20
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:11 
如何用break和continue
今天学习了break和continue,continue还可以理解,但是break咋就不好理解呢?为啥break不能用在if条件下呢?
如:if(m==2&&d>29)
    {
        cout<<"输入的日期有误,本程序自动退出"<<endl;
        break;
    }
在编译时总是提示break时不合法的。
请教前辈赐教!
搜索更多相关主题的帖子: 如何 continue 
2011-11-17 17:11
爱的轩辕氏
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:71
专家分:157
注 册:2011-5-8
收藏
得分:6 
    break 跳出循环,终止的意思,不能与IF一起用,你查一下就知道了,
2011-11-17 17:16
段璐恒
Rank: 2
等 级:论坛游民
帖 子:29
专家分:22
注 册:2011-3-20
收藏
得分:0 
#include<iostream.h>
void sfsrn(int y,int m,int d)
{
    int c;
    if((y%4==0 && y%100!=0) || y%400==0)
    {
        if(m==2&&d>29)
       {cout<<"输入的日期有误,本程序拒绝计算自动退出"<<endl;
        break;}
        switch (m)
        {
        case 1: c=d;break;
        case 2: c=31+d;break;
        case 3: c=60+d;break;
        case 4: c=91+d;break;
        case 5: c=121+d;break;
        case 6: c=152+d;break;
        case 7: c=182+d;break;
        case 8: c=213+d;break;
        case 9: c=244+d;break;
        case 10: c=274+d;break;
        case 11: c=305+d;break;
        case 12: c=335+d;break;
        }
        cout<<"今天是第"<<c<<"天"<<endl;
    }
    else
    {
        if(m==2&&d>28)
        {cout<<"输入的日期有误,本程序拒绝计算自动退出"<<endl;
        break;}
        switch (m)
        {
        case 1: c=d;break;
        case 2: c=31+d;break;
        case 3: c=59+d;break;
        case 4: c=90+d;break;
        case 5: c=120+d;break;
        case 6: c=151+d;break;
        case 7: c=181+d;break;
        case 8: c=212+d;break;
        case 9: c=243+d;break;
        case 10: c=273+d;break;
        case 11: c=304+d;break;
        case 12: c=334+d;break;
        }
        cout<<"今天是第"<<c<<"天"<<endl;
    }
}
void main()
{
    cout<<"想要终止本程序请输入 0 0 0"<<endl;
    cout<<"请输入想要查询的日期"<<endl;
    int y,m,d;
    cin>>y>>m>>d;
while(1)
{
    if(y==0)
        break;
    if((m==1||m==3||m==5||m==7||m==8||m==10||m==12&&d>31)||(m==4||m==6||m==9||m==11&&m>30))
    {cout<<"输入的日期有误,本程序拒绝计算自动退出"<<endl;
    break;}
    sfsrn(y,m,d);
    cout<<"请输入日期";
    cin>>y>>m>>d;
}
}
把红色的部分删除后就可以运行了,蓝色的部分没错,break用在了if之后。红色部分的不行?

勤奋刻苦
2011-11-17 17:28
zy_space
Rank: 5Rank: 5
等 级:职业侠客
帖 子:163
专家分:364
注 册:2011-11-14
收藏
得分:7 
虽然没有学过C++,不过C里面break和continue的用法是一样的。
break,continue只能应用于循环语句中,例如:for,while,switch,do等。if只是对于何时使用break/continue进行判断的判断语句,如果错以为continue/break可以单纯应用于if语句就大错特错了。根据定义,break的作用是跳出当前最内层的循环,而continue是中断本次循环,它们的共同作用是可以终端正常的控制流。

何必等待?梦在今朝
2011-11-17 18:03
小夫子
Rank: 2
来 自:哈尔滨
等 级:论坛游民
帖 子:27
专家分:74
注 册:2011-11-17
收藏
得分:2 
break 就是循环中用的 if当然不可以 是退出所在的循环
2011-11-17 18:04
绿茶盖儿
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:363
专家分:1852
注 册:2011-9-3
收藏
得分:2 
if是判断,不是循环,它不会重复执行,用不着break
2011-11-17 20:05
何时是月明
Rank: 2
等 级:论坛游民
帖 子:30
专家分:76
注 册:2011-9-27
收藏
得分:1 
break是跳出整个循环,continue只是结束本次循环,直接进入下次循环。
2011-11-17 20:29
qp785210028
Rank: 2
等 级:论坛游民
帖 子:37
专家分:52
注 册:2011-10-31
收藏
得分:1 
跳出循环
2011-11-17 21:10
edward_eric
Rank: 2
等 级:论坛游民
帖 子:32
专家分:83
注 册:2011-10-5
收藏
得分:1 
break 结束该层循环或者结束switch 语句。continue 终止本次循环,进入下一次循环
2011-11-18 00:24
我不是大虾
Rank: 2
等 级:论坛游民
帖 子:38
专家分:29
注 册:2011-10-26
收藏
得分:0 
break语句只能用于循环结构中滴
2011-11-18 11:40
快速回复:如何用break和continue
数据加载中...
 
   



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

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