Molto più banalmente, per leggere una stringa anche oltre lo spazio si usa una fgets().

Ma comunque penso che l'op volesse solo invertire l'ordine delle parole all'interno della frase, non invertire le parole stesse.