My favorite abuse of switch statements in C is to use them for co-routines in C...
http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
http://blog.robertelder.org/switch-statements-statement-expr...
http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
http://blog.robertelder.org/switch-statements-statement-expr...
Even though it is an abuse, these sorts of libraries are fascinating to me: making use of language features in unexpected (most likely unintended) ways.