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;
}