Bonjour à tous,
Je débute en C, et je souhaiterai faire une fonction qui compte le nombre de mots compris dans une chaine de caractères.
Voici mon code :
Que j'appelle grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int nbMots(char *chaine){ int n=0; while(*(chaine++)){ while(*chaine==' '){ chaine++; } if(*(chaine)!=' '){ n++; while(*(chaine)!=' '){ chaine++; } } } return n; }
Malheureusement, et vous le devinez bien, c'est pour ça que je demande votre aide, cette fonction ne marche pas. Voici ce qu'on me dit pour la valeur de chaine :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char *ch11=strdup("Bonjour comment ca va ?"); printf("%d\n",nbMots(ch11));
CXX0030 : erreur : impossible d'évaluer l'expression
Je ne sais pas du tout comment m'en sortir, toute aide est la bienvenue. Je suis sous Visual Studio 2010.
Je vous remercie.
Partager