Probleme pour rajouter une fonction

cccc14 Messages postés 1 Statut Membre -  
blurk Messages postés 487 Statut Membre -
Bonjour,

voila je debute dans l'algorithmie et j'arrive pas a rajouter une fonction sur un programme precedent je vous copie le programme :

int main (int argc, char*argv[])
{
lecture_ouvrir () ;

char **tab = malloc(1 * sizeof(char*));
int nb = 0;
int nb_mot = 0;
char *liremot();
char *mt = malloc(1 * sizeof(char));

while ((mot = liremot()) != NULL)
{
char *liremot();
if (*mot != '.' &&
*mot != ',' &&
*mot != ':' &&
*mot != ';' &&
*mot != ' ' )
{
mt[nb] = *mot;
mt = realloc(mt, (nb + 1) * sizeof(char));
nb++;
}
else

if (nb > 0)
{
mt[nb] = '\0';
tab[nb_mot] = mt;
nb_mot++;

mt = malloc(1 * sizeof(int));
tab = realloc(tab, (nb_mot + 1) * sizeof(int*));
nb = 0;

}
voila ca c le principal en gras je vous ai mis ce que j dois rajouter mais kan j'execute le programme il me dit k'il y a une erreur

si quelqu'un pouvai me repondre ca serait sympa

et desole si c un peu confus comme explication
A voir également:

1 réponse

blurk Messages postés 487 Statut Membre 160
 
bonjour,
en c, on ne déclare pas un protoype dans une fonction,
quel que soit le language on ne déclare pas de prototype dans une boucle.
La fonction liremot() n'est pas correctement déclarée (2X et au mauvais endroit),
son implémentation (le code qu'elle doit contenir) est absente,
et non seulement elle n'est pas correctement déclarée
(char *liremot()), mais elle n'est pas appelée (liremot()).
Le mieux, pout toi, c'est d'acheter un bouquin du style
"bien débuter en C" pour que tu puisse faire la différence entre :
le prototype d'une fonction,
le corps d'une fonction,
comment on appelle une fonction.
ensuite, au sujet de malloc(), realloc() et free
il faut bien connaitre l'allocation mémoire en C, et pour cela il faut maitriser les pointeurs. Tu as du boulot. bon courage
cordialement
¤
0