Относится к расширениям gcc, не претендует на переносимость, но все же: в gcc у case
можно указывать диапазоны значений:
case LOWVAL ... HIVAL:
Например:
switch(var)
{
case 0 ... 2:
/* какой-то код */
break;
case 3 ... 5:
/* какой-то другой код */
break;
default:
/* что делаем, когда ничего не помогает */
}
этот код эквивалентен такому:
switch(var)
{
case 0:
case 1:
case 2:
/* какой-то код */
break;
case 3:
case 4:
case 5:
/* какой-то другой код */
break;
default:
/* что делаем, когда ничего не помогает */
}
ЗЫ про одно полезное расширение gcc я уже писал: 0b00100100