Fibonacci en C fonctionne très bien avec 1 – 18 mais 19 ne fait rien du tout

Je dois programmer un petit programme qui montre une séquence de Fibonacci de 1 à n. 1 à 18 fonctionne très bien. Mais à partir de 19 ans, le programme ne fait rien du tout et se termine comme il est fait. Je ne trouve pas l’erreur … alors donnez-moi un indice.

#include #include #include #include int main(int argc, char **argv) { pid_t pid; int fib[argc]; int i, size; size = strtol(argv[1], NULL, 0L); fib[0] = 0; fib[1] = 1; pid = fork(); printf("size = %d \n", size); if(pid == 0){ for(i = 2; i < size; i++){ fib[i] = fib[i-1] + fib[i-2]; } for(i = 0; i  0){ // Parent, because pid > 0 wait(NULL); printf("\n"); exit(1); } } 

Certains problèmes sont:

  1. fib[0] doit être 1 , pas 0 .
  2. La taille du tableau de fib est incorrecte.
  3. Et le tableau fib est mal défini aussi.
  4. Semble que for remplir les membres aléatoires, pas les éléments du tableau de fib .

Pourtant, ce code ne semble pas très bon. Vous n’avez pas posté d’inclusions et la boucle est incomplète. Il ne contient même pas de code permettant de calculer les valeurs de séquence.

Le problème suivant est le but de forger ici. Ce que vous voulez faire est d’effectuer un calcul séquentiel simple. Il n’y a pas besoin de fourche du tout.

Je recommande un peu plus de travail sur ceci avant de le soumettre pour le grade.