ah, une question interessante.
En effet, en C, un switch est souvent plus rapide qu´une succession de if/else.
La question est "pourquoi est ce que c´est plus rapide ?" .
Basiquement, lorsque l´on ecrit
switch (a)
{case 1: ... case 2: ... case 3: ... case 4: ... ...}
le compilateur pour créer une table des "lignes" ou apparait case 1, case 2, case 3.
Ainsi, il peut faire son choix en faisant: goto ligne[a];
Que l´on soit d´accord, on est vraiment entrain de grapiller des pouiemes. Une fois que tu aura mis ta fonction qui parse tes chaines de caracteres, ce pouiemme deviendra encore plus insignifiant.
D´ou ma question finale: as tu vraiment besoin de performance a ce point ?