auch in deinem Link wird mehrfach die Compilierung zu jmp lables erwähnt.
mag jedoch alles im Detail sein wie es will, switch/case ist trotzdem prinzipiell ein goto und kein if/else if, sonst wären nicht nur Integer-Konstanten sondern auch Variablen-Ausdrücke, floats oder statements als Fallunterscheidungen erlaubt.
und wie bereits erwähnt,Wie auch immer:
alles ist legaler C Code und hat seine gleichwertige Daseins-Berechtigung.
Lesezeichen