[Gelöst]Speicherzugriffsfehler bei Fibonacci Programm



  • Hallo,
    mache gerade eine simple Fibonacci Aufgabe in C und verzweifle daran. Finde des Fehler nicht und bekomme einen Speicherzugriffsfehler.
    Ich hoffe ihr könnt mir behilflich sein.

    LG, Benson und danke.

    /* Fibonacci Zahlen */
    #include <stdio.h>
    #define MAX 100
    
    int main(void) {
    int i;
    int temp[MAX];
    
    for(i = 0; i <= MAX; i++) {
    
    if(i > 1) {
    temp[i] = temp[i-2] + temp[i-1]; //Hier müsste der Fehler sein
    printf("%d, ",temp[i]);
    } else {
    //Für die ersten beiden Zahlen 0 und 1
    temp[i]= i;
    printf("%d, ", temp[i]);
    }//Ende If
    
    }//Ende For
    
    return 0;
    }
    


  • Wenn im letzten Durchlauf i == MAX ist, dann ist temp[i] out of bounds. Der Schleifenkopf sollte wohl so aussehen:

    for(i = 0; i < MAX; i++)
    


  • Danke dir. Typischer Anfängerfehler. Aber jetzt habe ich es verstanden. Macht ja auch Sinn 🙂


Anmelden zum Antworten