Io non posso entrare nella logica del codice che tu hai scritto (ma l'hai scritto tu? Sembra che tu non ne sappia quasi nulla ...).
Tu passi alla strcmp un char mentre dovrebbe essere un puntatore a char. Ovvero questa
TLista_primaria cerca(TLista_primaria l, char x)
dovrebbe essere
TLista_primaria cerca(TLista_primaria l, char *x)
Parti da questo per capire da solo dove hai sbagliato.