#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;
}
}
凉拌...
小范围不加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;
}
不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");
}
case不能是范围,你最好用IF语句实现,比switch简单
case没有遇到break;前都是在执行