FYI: although not good for all the above reasons it only works (at least in gcc) for positively incrementing values, i.e.: case 1 ... 10 works case -1 ... -10 doesn't work but case -10 ... -1 does.