Salut à tous.
Je ne souhaite pas utiliser la fonction strlen.
Mon code compte le nombre de caractère d'un texte entrer au clavier en faisant appel à une fonction.
Mon problème : Lorsque mon texte contient un espace dans la saisie au clavier la fonction ne compte que les caractères avant l'espace. Pourtant lorsque je rentre la même phrase directement dans le tableau alors la fonction donne le résultat correcte.
Voici mon code, je m'excuse pour la présentation.
Code:#include<stdio.h> #include<stdlib.h> int longueurchaine(const char* chaine); void main () { char chaine[] = "Au calme cousin"; //printf("Entrer la chaine à compter : \n");scanf("%s",&chaine); int longueur = 0 ; /*longueurchaine = strlen(chaine);*/ longueur = longueurchaine (chaine); /* printf("La chaine %s fait %d caractères de long", chaine, longueurchaine); */ printf("La chaine %s fait %d caracteres de long", chaine, longueur); } int longueurchaine(const char* chaine) { int nombredecaracteres = 0; char caractereactuel = 0 ; do { caractereactuel = chaine[nombredecaracteres]; nombredecaracteres++; }while(caractereactuel != '\0'); nombredecaracteres --; /*On ne compte pas '\0' */ return nombredecaracteres; }
-----