De toute manière il n´y a pas à tergiverser, un char* est un pointeur (donc potentiellement un int) vers une chaines de caractères. Mais ce n´est absolument pas en soi une chaine de caractères. C´est juste que certaines fonctions (la plupart sont celles qui comments par str...) l´interprète ainsi.
donc écrire :
char *mot;
...
switch(mot)
{
case oui:
...
reviendrait seulement à vérifier (pour peu que le compilateur accepte) si mot et oui ont la même adresse, c´est à dire si, physiquement, il s´agit de la même chaines en mémoire. Mais pas si ces deux chaines sont identiques.