GNU编译器中特殊的switch语法
switch(整型数据)
{
case start1 ... end1: 语句1; break;
case start2 ... end2: 语句2; break;
case start3 ... end3: 语句3; break;
}
这种区间连续性的判断,可以简化代码
startx…xend
x这里是有一个空格的
不然就会 = =、
error: too many decimal points in number
#include<stdio.h>
void switch_test(char num)
{
switch(num)
{
case 1 ... 9 :
printf("[1,9]\n");
break;
case 'a' ... 'z' :
printf("[a,z]\n");
break;
case 'A' ... 'Z' :
printf("[A,Z]\n");
break;
}
}
int main(int argc,const char* argv[])
{
switch_test(6);
switch_test('a');
switch_test('S');
return 0;
}
/*
[1,9]
[a,z]
[A,Z]
*/