Lo switch non ti permette di inserire variabili nel case, quindi perchè non ritornare al vecchio ma più libertino if-else?
Ti posto il mio codice, che si potrebbe anche rivedere con un ciclo for.
codice:
#include <stdio.h>
int main()
{
char *nomi[] ={
"Luca",
"Marco",
"Anna"
};
char **p = nomi;
char parola[] = "Marco";
char *pt = parola;
if(*pt == *nomi[0])
printf("Ciao Luca!");
else if(*pt == *nomi[1])
printf("Ciao Marco!");
else if(*pt == *nomi[2])
printf("Ciao Anna!");
else
printf("Non ti conosco. Chi sei?");
getch();
return 0;
}