正常情况下,switch case语句是这么写的:
switch(参数)
{
case 1 : ... ; break ;
case 2 : ... ; break ;
default:
... break ;
}这种是我们最常见的写法,当然也可以这么写:
switch(参数)
{
case 1: case 2 : case 3 : case 4 :
...
;break ;
default :
...
;break ;
}接下来说一种不常见的,但是对于多参数有很大的帮助的写法:
先给一个程序:
#include <stdio.h>
int main()
{
int i ;
for(i = 0 ; i < 11 ; i++)
{
switch(i)
{
case 1 ... 5 :
printf("%d\n",i); break ;
case 6 ... 10 :
printf("%d\n",i); break ;
default:
printf("First:%d\n",i); break ;
}
}
return 0;
}
运行结果:
First: 0
1
2
3
4
5
6
7
8
9
10
这种case 参数 空格...空格 参数的写法就是switch case语句的可变参形式写法,只要是标准C可以编译通过,不过这样的写法在GNU C中较为常见,读过linux内核的一定不陌生。