Diogene te l'as expliquer clairement : peut importe ton code, tu declare ta fonction comme retournant void , c'est a dire rien, et dans ta fonction on trouve :
return print(list->next);
C'est absolument incompatible.
Si tu ne vois toujours pas ce que je veux dire :
1 2 3 4 5 6 7 8 9 10
|
void print(cell *list) {
if (list == NULL)
return;
printf("%s ",list->name);
return print(list->next);
} |
Comme te l'as dit diogene, separe l'appel recursif du return :
1 2 3 4 5 6 7 8 9 10 11
|
void print(cell *list) {
if (list == NULL)
return;
printf("%s ",list->name);
print(list->next);
return;
} |
Bonne continuation
EDIT : d'ailleur, si je ne m'abuse, ce code peut etre compacter de cette maniere :
1 2 3 4 5 6 7 8 9
|
void print(cell *list)
{
if (list != NULL)
{
printf("%s ",list->name);
print(list->next);
}
} |
Partager