Bonjour à tous,
J'essaie de connaître le nombre de caractères autres que '\0' d'un array de caractères rempli par l'utilisateur. L'idée est de parcourir cet array (compteur : 'i') et d'incrémenter un compteur représentant le nombre de ces éléments différents de '\0' (compteur : 'j') si et seulement si l'élément en cours est différent de '\0'.
A priori, ça devrait fonctionner ! Mais mon programme affiche toujours une taille de 10... Je vous montre le code :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 char chaine[10]; scanf("Tapez une chaîne de caractères : %s", chaine); // scanf va remplir chaine de l'élément n°0 à l'élément n°[taille-1 de la saisie] et placera un '\0' juste après ce dernier élément int j = 0; // représente le nombre d'éléments != '\0' int i = 0; while (i < sizeof(chaine)) { if (chaine[i] != '\0') j++; i++; }
Voilà.
Je ne comprends pas du tout pourquoi ça ne marche pas. Pourriez-vous m'aider svp ? :-/
Merci d'avance et bonne continuation
Partager