Inizializzazione variabile

di minuscoloso il
6 risposte

Buongiorno.

Mi sto esercitando un po' con il C e ho scritto questo programmino per calcolare la sequenza di Fibonacci:

#include<stdio.h>

int main(void)
{
int i , x , n1 , n2 , fib;
x=0;
printf("\nCALCOLO SEQUENZA DI FIBONACCI\n\n");
printf("\n\nQuanti numeri vuoi stampare massimo?  ");
scanf("%d",&x);

if (x<=0)        printf("\n ERRORE");
else if (x==1)   printf("\n\nECCO LA SEQUENZA RICHIESTA: 1 ");
else if (x==2)   printf("\n\nECCO LA SEQUENZA RICHIESTA: 1 , 1 ");
else    {
        n1=1;
        n2=1;
        printf("\n\nECCO LA SEQUENZA RICHIESTA: 1 , 1 ");
        for (i=3 ; i<=x ; i++) {
        fib=n1+n2;
        printf(", %d ", fib);
        n1=n2;
        n2=fib;
       }

}

printf("\n\n");

return 0;

}

Probabilmente poteva essere scritto in modo migliore.

Ma quello che non riesco a capire è che ho dovuto inserire una inizializzazione x=0.

Senza quella riga, il programma non viene eseguito.

6 Risposte

  • Infatti non serve, il programma funziona correttamente senza x=0;

    Non è che il problema è che non hai \n nella seconda linea in output? Prova ad aggiungere fflush(stdout); se non vai a capo

  • 13/03/2024 - Weierstrass ha scritto:


    Infatti non serve, il programma funziona correttamente senza x=0;

    Eh penso anche io che debba essere così ma non capisco come mai.

    Ho provato sia con il \n che con il fflush(stdout) ma non funziona…

  • CodeBlocks.

    Eh infatti se uso il compilatore online funziona….

  • CodeBlocks è un IDE che si aggancia a un programma esterno per compilare. 

    Sarà un bug del compilatore. Aggiornalo o istallane un altro

  • Provvedo. Grazie 1000

Devi accedere o registrarti per scrivere nel forum
6 risposte