ajuda para encontrar erro no algoritmo abaixo.

/*Faça um programa que dado um nome completo, retorne a abreviatura deste nome. Não
se devem abreviar as preposições como: do, de, etc. A abreviatura deve vir separada por
pontos. Exemplo, Paulo Jose de Almeida Prado.  P.J.A.P.*/

#include <stdio.h>
#include <string.h>


main()
{
int i;
char palavra[30];
printf("\nInforme uma palavra: ");
gets(palavra);
char anterior = '\0';
for(i = 0; palavra[i] != '\0'; i++)
{
if(i==0)
{
printf("%c", palavra[i]);
}
if (anterior == ' ')
{
printf(".");
}
anterior = palavra[i];
}
}

Disciplina:Algoritmos1.519 materiais