No.
Il problema è che la feof opera solo dopo che è avvenuta una lettura, quindi si accorge solo dopo che è finito il file.
Se nell'ultima riga non c'è il ritorno a capo, tutto funziona, altrimenti è come se leggessi una riga in più.
Puoi rimediare non utilizzando la feof ma direttamente la fgets nella while, così
while(fgets(parole, 50, fp))
e ovviamente eliminandola dall'interno del ciclo.