Connaître le nombre d'éléments différents de \0 d'un char array
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:
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 ;)