正常情况下,switch case语句是这么写的:
switch(参数)
{
case1:...;break;
case2:...;break;
default:
...break;
}
这种是我们最常见的写法,当然也可以这么写:
switch(参数)
{
case1:case2:case3:case4:
...
;break;
default:
...
;break;
}
接下来说一种不常见的,但是对于多参数有很大的帮助的写法:
先给一个程序:
#include
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内核的一定不陌生。