J'écris une fonction qui remplace les espaces vides par des '-' (<- ce caractère). Je veux finalement renvoyer le nombre de modifications effectuées.
#include <stdio.h>
int replace(char c[])
{
int i, cnt;
cnt = 0;
for (i = 0; c[i] != EOF; i++)
if (c[i]==' ' || c[i] == '\t' || c[i] == '\n')
{
c[i] = '-';
++cnt;
}
return cnt;
}
main()
{
char cat[] = "The cat sat";
int n = replace(cat);
printf("%d\n", n);
}
Le problème est qu'il change correctement la chaîne en "The-cat-sat" mais pour n, il renvoie la valeur 3, alors qu'il est censé renvoyer 2. Qu'est-ce que j'ai fait de mal ?