Comportement bizarre de la fonction strlen
Salut,
J'ai un truc bizarre avec mon petit programme qui calcule le nombre de caractères dans un phrase.
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
|
/* Compteur de caractère dans un ligne */
#include <stdio.h>
#include <string.h>
int main (int argc, const char * argv[])
{
size_t length;
char buf[80];
while (1)
{ puts ("\nTapez une ligne de texte (une ligne vierge pour terminer)");
gets(buf);
length = strlen(buf);
if (length !=0)
printf("\nLa longueur de cette ligne est de %u caractères.", length);
else
break;
}
return 0;
} |
En fait sur mon ordinateur (un imac G5, PowerPc, Xcode), il me donne comme résultat :
Code:
1 2 3 4 5 6 7 8 9
|
Tapez une ligne de texte (une ligne vierge pour terminer)
mémé
La longueur de cette ligne est de 6 caractères.
Tapez une ligne de texte (une ligne vierge pour terminer)
mama
La longueur de cette ligne est de 4 caractères. |
Pourquoi la ligne avec mémé, il me donne deux caractères de plus ?