Probleme pour rajouter une fonction
cccc14
Messages postés
1
Statut
Membre
-
blurk Messages postés 487 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
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:
- Probleme pour rajouter une fonction
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Site de rajout pour bara ✓ - Forum Virus
- Fonction remplacer sur word - Guide
1 réponse
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
¤
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
¤