| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1287 人关注过本帖
标题:C語言程序中 如何從中間跳出main函數?
只看楼主 加入收藏
甘金
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-11-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
C語言程序中 如何從中間跳出main函數?
#include<stdio.h>
main()
{
        int y,m,d,s,n,leap=0;
        printf("Please input year,month,day:");
        scanf("%d%d%d",&y,&m,&d);
        if((y%4==0&&y%100!=0)||y%400==0)
                leap=1;
        switch(m)
        {
        case 1:s=0;
                if(d>31) printf("data error\n"); break;
        case 2:s=31;
                if(d>29||(d==29&&leap==0)) printf("data error\n"); break;
        case 3:s=59; break;
                if(d>31) printf("data error\n"); break;
        case 4:s=90; break;
                if(d>30) printf("data error\n"); break;
        case 5:s=120; break;
                if(d>31) printf("data error\n"); break;
        case 6:s=151; break;
                if(d>30) printf("data error\n"); break;
        case 7:s=181; break;
                if(d>31) printf("data error\n"); break;
        case 8:s=212; break;
                if(d>31) printf("data error\n"); break;
        case 9:s=243; break;
                if(d>30) printf("data error\n"); break;
        case 10:s=273; break;
                if(d>31) printf("data error\n"); break;
        case 11:s=304; break;
                if(d>30) printf("data error\n"); break;
        case 12:s=334; break;
                if(d>31) printf("data error\n"); break;
        default: printf("data error\n"); break;
        }
        n=s+d;
        if(m>2)
                n=n+leap;
        printf("%d\n",n);
}      
想輸出data error后直接結束整個程序
求解
搜索更多相关主题的帖子: include 如何 
2016-11-22 18:49
晓益
Rank: 4
来 自:江苏扬州
等 级:业余侠客
威 望:2
帖 子:85
专家分:220
注 册:2016-7-9
收藏
得分:0 
回复 楼主 甘金
当m=1 d>31  就输出:data error

千里之行,始于足下。
思考问题伤细胞,得分不容易。解决完问题请尽快结贴
2016-11-22 19:05
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:20 
先不提printf("data error\n");对于switch()只要执行语句一旦碰到break,就会跳出switch,你后面跟的if根本没有机会执行。
如果要直接结束整个程序,在执行到该位置用exit(0);就行了。使用exit函数前记得加头文件<stdlib.h>~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2016-11-22 19:07
甘金
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-11-22
收藏
得分:0 
回复 3楼 九转星河
我寫的break是在if語句的后面 if語句是會執行的

exit(0)  很有用  謝謝你
2016-11-22 19:50
甘金
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2016-11-22
收藏
得分:0 
回复 2楼 晓益
謝謝你的回復 你沒理解我的意思呢 樓下給出了解答
2016-11-22 19:51
快速回复:C語言程序中 如何從中間跳出main函數?
数据加载中...
 
   



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

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