Problème avec strncmp...
Résolu
robychanca
-
robychanca -
robychanca -
Bonjour,
J'ai les lignes de code suivantes qui font partie d'une fonction qui doit permettre de retrouver dans le tableau "nch" l'ensemble des noms commençant par une lettre entrée par l'utilisateur et stockée dans la variable "pl"
do {
if (strncmp(nch[i], pl, 1)==0) {
puts(nch[i]) ;
k++ ;
}
i++ ;
}
while(i<N) ;
Le problème c'est qu'à l'exécution, le programme se plante dès l'entrée dans la boucle. Quelqu'un peut-il m'aider à trouver pourquoi?
Merci d'avance pour vos réponses!
J'ai les lignes de code suivantes qui font partie d'une fonction qui doit permettre de retrouver dans le tableau "nch" l'ensemble des noms commençant par une lettre entrée par l'utilisateur et stockée dans la variable "pl"
do {
if (strncmp(nch[i], pl, 1)==0) {
puts(nch[i]) ;
k++ ;
}
i++ ;
}
while(i<N) ;
Le problème c'est qu'à l'exécution, le programme se plante dès l'entrée dans la boucle. Quelqu'un peut-il m'aider à trouver pourquoi?
Merci d'avance pour vos réponses!
1 réponse
-
La variable nch rassemble un tableau de pointeur sur des chaines de caractères ?
-
-
La variable i est-elle bien initialisée à 0 ?
Le tableau a-t-il bien était alloué ?
Si tu boucles sur le tableau en faisant :
for (i = 0; i < N; ++i) printf("%s\n", nch[i]);"
Ca ne pose pas de problèmes ?
Pourquoi utiliser strncmp si c'est juste pour vérifier le premier caractère ? Autant faire :
if (nch[i][0] == pl)
-
-
-
-