Enlever les espaces redondants....
Bonjour à tous,
voila en poursuivant la réalisation des exercices de mon livre de C je recontre un probleme avec un exercice qui demande de remplacer un ou plusieurs espaces par un seul espace dans les phrases.
Lorsque j'ai une serie d'espaces tout va bien je n'en retrouve qu'un seul en sortie mais lorsque je n'en ai qu'un il disparait, si qq pouvait m'expliquer pourquoi....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| int replace()
{
int c,d;
while((c=getchar())!='#')
{
if(c==' ' && (d=(c=getchar()))==' ')
{
putchar(' ');
}
else
{
if(c==' ' && (d=(c=getchar()))!=' ')
{putchar(c);}
else
{putchar(c);}
}
}
}
int main()
{
printf("Saisissez votre phrase : \n");
replace();
printf("\n");
system("pause");
} |
Comme pourrons le voir les pro je suis aussi loin de produire du code optimisé donc si vous avez des optimisations a me proposer n'hesitez pas!
D'avance merci.