Funktionsaufruf mit Arrays



  • Hallo Community
    Ich habe eine wahrscheinlich einfach zu beantwortende frage, komme allerdings grad selber nicht dahinter.

    kurz:
    -ich habe 3 verschiedene Arrays
    -ich möchte auf jedes dieser 3 Arrays die gleiche Funktion anwenden
    -nach dem Funktionsaufruf, kommt das gewünschte Ergebnis raus
    -nach dem Funktionsaufruf mit dem nächsten Array, wird scheinbar das erste überschrieben, so dass ich nachher statt 3 verschiedener Arrays, 3 mal das gleiche, letzte Array habe

    Woran kann das liegen?

    lang:

    ich habe 3 Arrays:

    int array1[x];
    int array2[x];
    int array3[x];
    

    ich möchte mit einer Funktion diese Arrays verarbeiten:

    funktion_x(array1,size);
    funktion_x(array2,size);
    funktion_x(array3,size);
    

    Wenn ich nun nach jedem Funktionsaufruf das jeweilige, veränderte Array ausgeben lasse, kommt jeweils das gewünschte Ergebnis raus.

    funktion_x(array1,size);
    ausgeben(array1,size);
    funktion_x(array2,size);
    ausgeben(array2,size);
    funktion_x(array3,size);
    ausgeben(array3,size);
    

    Da ich die Arrays aber später noch mit weiteren Funktionen bearbeiten will, sollen diese natürlich nicht nur einmal korrekt ausgegeben werden.
    Wenn ich also erst die Funktion auf alle 3 Arrays anwende und dann alle 3 ausgebe, kommt 3 mal das selbe Array raus.

    funktion_x(array1,size);
    funktion_x(array2,size);
    funktion_x(array3,size);
    ausgeben(array1,size);
    ausgeben(array2,size);
    ausgeben(array3,size);
    

    Die Funktion ist wie folgt aufgebaut:

    int funktion_x(int array[],int size){
    // veraender das Array
    return wert;
    }
    

    Wo könnte der Fehler liegen?

    Danke schonmal für eine Antwort 😃



  • Was ist x ? Was ist size ? Was passiert in funktion_x ? Was macht ausgeben ?

    Wie wärs mit einem compilierbaren Minimalbeispiel, welches das Problem verdeutlicht?



  • patrik92 schrieb:

    Wo könnte der Fehler liegen?

    In dem Teil des Code, den du nicht zeigst.

    Globale Variablen, static Variablen, verbogene Zeiger, falscher Scope oder Anderes.


Anmelden zum Antworten