黑马程序员技术交流社区
标题:
switch
[打印本页]
作者:
红双喜
时间:
2015-7-27 22:54
标题:
switch
在基础视频里有一节讲到switch语句这块,讲了几个小程序
以下是老师的代码
#include <stdio.h>
int main(int argc, const char * argv[]) {
int season;
printf("请输入月份\n");
scanf("%d",&season);
if(season<1 || season>12){
printf("请输入正确的月份\n");
return 0;}
switch (season){
case 11:
case 12:
case 1:
printf("冬季\n");
break ;
case 2:
case 3:
case 4:
printf("春季\n");
break;
case 5:
case 6:
case 7:
printf("夏季\n");
break ;
case 8:
case 9:
case 10:
printf("秋季\n");
break;
}
return 0;
}
那么问题来了,老师判断输入是否合法时为什么不使用default;提示用户输入合法的月份,而是要用if
用default;会有什么不好的后果么?default貌似很方便啊。
我只知道如果用if的话若为假程序则不会执行,这一点的考虑是不是为了缩短运算时间?除了这个还有其他原因么?
作者:
红双喜
时间:
2015-7-27 22:55
#include <stdio.h>
int main(int argc, const char * argv[]) {
int season;
printf("请输入月份\n");
scanf("%d",&season);
/*if(season<1 || season>12){
printf("请输入正确的月份\n");
return 0;}*/
switch (season){
case 11:
case 12:
case 1:
printf("冬季\n");
break ;
case 2:
case 3:
case 4:
printf("春季\n");
break;
case 5:
case 6:
case 7:
printf("夏季\n");
break ;
case 8:
case 9:
case 10:
printf("秋季\n");
break;
default :
printf("请输入正确的月份\n");
}
return 0;
}
复制代码
作者:
红双喜
时间:
2015-7-27 22:57
我这样也用的好爽啊,用if还要自己想小于谁,大于谁。
作者:
王远飞
时间:
2015-7-27 23:32
你说的好有道理,我竟无言以对啊
作者:
1312878967
时间:
2015-7-27 23:41
在switch语句中,如果没有任何 case 表达式与开关值匹配,则控制传递给跟在可选 default 标签后的语句。如果没有 default 标签,则控制传递到 switch 以外
作者:
865061682
时间:
2015-7-27 23:41
if不 是判断吗 default应该是判断之后才用的 吧
作者:
红双喜
时间:
2015-7-28 00:10
王远飞 发表于 2015-7-27 23:32
你说的好有道理,我竟无言以对啊
不是吧。
作者:
lclofty
时间:
2015-7-28 00:35
应该为了省内存吧 if条件不成立的话 后面就都不执行了
作者:
archdem1
时间:
2015-7-28 11:07
用if可读性更强。
作者:
liusuizuoyou
时间:
2015-7-28 11:42
用 default; 怎么 提示用户输入合法的月份???
作者:
丁铭检
时间:
2015-7-28 22:31
老师是的代码只是为了能让初学者更容易理解而已。。。没你想的那么复杂!!!
作者:
刘唐飞
时间:
2015-7-29 01:44
c语言里面的语法很多都可以替换
作者:
飞翔的猪
时间:
2015-7-29 10:31
这个问题就好像你买了面包,你不看生产日期过不过期,反而要咬一口去判断过不过期一个道理
作者:
wy911011
时间:
2015-7-29 10:37
:victory::victory::victory:
作者:
lixianzhu0712
时间:
2015-7-29 19:34
好牛逼的样子!
作者:
小林儿
时间:
2015-7-29 21:11
两者完全可以互相替换!至于你说内存问题=。=还有运算速度问题,完全可以忽略
作者:
原晓桢
时间:
2015-7-29 21:13
开始我也有这样的想法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2