J'essayer de faire une fonction qui renvoie un tableau d'int compris entre mes parametres min et max. Le code me semble correct mais j'obtiens toujours soit une seg fault, soit une suite de chiffres comme 46474800 (en fonction des compilateurs).
Quelqu'un pourrait-il m'aider ?
#include <stdlib.h>
int *ft_range(int min, int max);
int *ft_range(int min, int max)
{
int *tab;
unsigned int buffer;
buffer = 0; // Important
if (min >= max)
return (NULL);
tab = (int *)malloc((max - (min + 1)) * sizeof(int));
while (buffer <= (max - (min + 1)))
{
tab[buffer] = min + buffer;
buffer++;
}
return (tab);
}
int main(int argc, char **argv)
{
ft_range(*argv[0], *argv[1]);
return (0);
}
Et j'utilise un while a la place d'un for par obligation.
Nous le savons, mais c'est désagréable à lire. D'ailleurs je me dis que c'est peut-être un plan machiavélique pour décourager le copier-coller: obliger à écrire si moche qu'il est extrêmement peu probable que les élèves trouvent du code à copier-coller sans devoir adapter toutes les boucles.
A part ça, l'appel ft_range(*argv[0], *argv[1]); est très bizarre. Sais-tu ce que valent *argv[0] et *argv[1]?
Et je ne vois pas d'affichage dans le code.
- Edité par Marc Mongenet 11 juillet 2018 à 13:22:16
Et j'utilise un while a la place d'un for par obligation.
Nous le savons, mais c'est désagréable à lire. D'ailleurs je me dis que c'est peut-être un plan machiavélique pour décourager le copier-coller: obliger à écrire si moche qu'il est extrêmement peu probable que les élèves trouvent du code à copier-coller sans devoir adapter toutes les boucles.
Un argument intéressant. Cependant, d'une année sur l'autre, ils peuvent récupérer les travaux qu'on fait les autres membres de leur secte l'année précédente. A moins qu'ils gardent tout pour eux ?
Je digresse, mais cette méthode d'apprentissage est vraiment débile.
Voilà un bonhomme à qui on demande d'écrire une fonction qui alloue un tableau de int en fonction de deux valeurs, à qui ça pose un problème, et le voilà obligé d'écrire sa propre fonction atoi qui est potentiellement génératrice de problèmes, tout ça car la librairie standard lui est interdite (tient, malloc est autorisé ?)
C'est comme si pour allumer mon barbecue, j'employais des silex plutôt que des allumettes.
- Edité par edgarjacobs 11 juillet 2018 à 16:58:34
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub