Existe alguma razão específica para o protótipo da função achaPalavra usar unsigned char* ao invés de char*, no EP5?
Depende de qual algoritmo foi implementado pode ou não fazer diferença. Por exemplo, para o algoritmo de Boyer-Moore faz diferença (AULA 27).