Taille d'un mot en language C

Julie -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

en fait j'aimerais avoir un bout de programme qui permet de calculer la taille d'un mot donner par l'utilisateur SANS UTILISER taille=strlen(tab);

printf("entrer le mot a verifier\t");
le bout de programme calculerait la taille de ce mot

Mon autre probléme c'est aprés le printf j'aimerais mettre une expression du style ; scanf ( " %d " , & tab ) mais ca marche pas , il faut que je mette gets(tab) je sais pas pourquoi )

Merci d'avance ( priorité a la taile du mot merci )
Configuration: Windows XP
Firefox 2.0.0.12

2 réponses

  1. amigo
     
    Bonjour

    En langage C, une chaine de caractère se termine toujours par '\0'.
    Il suffit de compter le nombre de caractère depuis Chaine[0] jusqu'à Chaine[i]='\0'

    i=0;
    while (chaine[i++]!='\0');
    printf("longueur de chaine = %d\n",i);

    Gets(tab); /*tab est une chaine de caractère, avec scanf il faut mettre %s*-

    scanf("%s",&tab);
    0
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Salut,

    Les variables:
    int taille = 0;
    char mot[32]; //Pas plus long que 32 on va dire
    

    Le message et la récupération du mot
    printf("Entrez le mot\n");
    scanf("%s", mot); // %s comme "string", mot en paramètre, car mot est déjà une adresse, celle du tableau
    

    La taille, une boucle qui parcoure le tableau de caractère jusqu'à ce qu'il tombe sur le caractère de fin de chaîne ('\0'):
    while(mot[taille] != '\0')
    {
        taille ++;
    }
    printf("La taille est %d\n", taille);


    Et voilà.
    0