Taille d'un mot en language C

Fermé
Julie - 24 mars 2008 à 20:42
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 24 mars 2008 à 20:59
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 )

2 réponses

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
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
24 mars 2008 à 20:59
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