Calcul de la longueur d'une chaîne en c

philippe -  
pépereF Messages postés 36 Date d'inscription   Statut Membre -
bonjour,
il faut que je calcul la longueur d'une chaîne de caractére en langage c en utilisant la fonction 'strlen'

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

main()
{
char *string;
printf("entrez une chaine de caractére:\n);fflush(stdout);
scanf("%c",&string);
printf("la chaîne est composée de %d caractéres."strlen (string));
}

pourriez vous svp m'aider à trouver mon erreur?
merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Avec ce code ça marche
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int
    main ()
    {
      char *chaine;
      chaine = (char *) malloc (100 * sizeof (char));
      printf ("Entrez une chaine de caractere:\n");
      fgets (chaine, 100, stdin);
      printf ("La chaine saisie est composee de %ld caractere.\n",
                      strlen (chaine) - 1);
    
      return 0;
    }

    résultat
    ~/trash$ ./ccm
    Entrez une chaine de caractere:
    une chaine de caracteres
    La chaine saisie est composee de 24 caractere.
    
    mais avec celui là non
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int
    main ()
    {
      char *chaine;
      chaine = (char *) malloc (100 * sizeof (char));
      printf ("Entrez une chaine de caractere:\n");
      scanf("%s",chaine);
      printf ("La chaine saisie est composee de %ld caractere.\n",
                      strlen (chaine));
    
      return 0;
    }
    
    résultat
    ~/trash$ ./ccm
    Entrez une chaine de caractere:
    une chaine de caractères
    La chaine saisie est composee de 3 caractere.
    
    Pourquoi?
    1