Questa funzione non fa altro che prelevare da tastiera una stringa di lunghezza massima indicata (nel tuo caso 50 caratteri compreso il terminatore) e inserirli nella stringa indicata (nel tuo caso la c).
A differenza della scanf, preleva anche gli spazi.
Quindi, se c'e' un problema nel codice, questo e' dovuto alla presenza di spazi nella stringa inserita. Prova ad inserire solamente una parola e vedi se si comporta nella stessa maniera di prima e poi fai un po' di debug del codice per capire cosa succede.