Tutte le operazioni che vuoi fare complicano l'implementazione del programma e sono inutili.

Io procederei cosi.

1) Salvo in un array l'input, escludendo i caratteri non ammessi, quindi solo alfanumerici e spazi e newline.

2)Si pu� creare una funzione che riconosca le parole, perch� sono delimitate da spazi e newline, e salvare parola per parola in un array di appoggio.
per ogni parola proibita scorro l'array e lo divido in parole, e con strcmp() verifico che non sia uguale alla parola proibita, se uguale incremento un array occorrenze delle parole proibite.
Quindi sarebbe utile avere le parole proibite in un array, e in un array parallelo le loro occorrenze.

Dovrebbe essere pi� semplice di quello che vuoi fare tu.