c语言中的switch,case中如果是一个范围呢?该怎么办啊??请举个例子,谢谢

发布网友 发布时间:2022-04-23 05:38

我来回答

5个回答

热心网友 时间:2023-10-16 19:37

#define Min1 5
#define Max1 15

#define Min2 15
#define Max2 20

void switch_range()
{
//方法① switch语句可以用…来判断范围,要注意其边界条件(且为包含)
switch(x)
{
case Min1 ... Max1:       //等价于    5<=x && x<=15;
;
break;
case Min2 ... Max2:      //等价于    15<=x && x<=20;
;
break;
default:
break;
}

//方法② 另一种常用方法是将其 “/5取商” 常量判断
int x;
switch(x/5)
{
case 1:     //5-9

case 2:     //10-14
printf("5-14");
break;

case 3:    //15-19
printf("15-19");
break;
default:
;
break;
}
}

热心网友 时间:2023-10-16 19:37

凉拌...

小范围不加break就行
大范围用if判断下在switch
n=x;
if(x>=5&&x<1000)n=5;
switch(n)
{
case 1:
case 2:
case 3:
case 4:
//1-4
break;
case 5:
//5-999
break;
}

热心网友 时间:2023-10-16 19:38

不break就可以了,比如:
int n;
switch(n){
case 3:
case 4:
case 5:
case 6:
printf("3-6\n");
break;
case 7:
case 8:
case 9:
printf("7-9\n");
break;
default:
printf("other\n");
}

热心网友 时间:2023-10-16 19:38

case不能是范围,你最好用IF语句实现,比switch简单

热心网友 时间:2023-10-16 19:39

case没有遇到break;前都是在执行

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com