return-Funktion



  • Hallo,
    kleine Frage: Ist es möglich, zwei oder mehrere Funktionsausfrufe, die einen Rückgabewert als return beinhalten, in eine Main-Funktion zu schreiben, also so nach dem Muster:
    main()
    {
    int Funktion1(Eins)
    {
    . . .berechne irgendwas

    return Eins
    }

    int Funktion2(Zwei)
    {
    . . .berechne irgendwas mit Reurnwert Eins

    return Zwei
    }
    }
    Ich möchte gerne, dass Funktion 2 mit dem Ergenbis von 1 etwas macht. Brauche ich die main-Funktion dann überhaupt? Finde dazu nichts eindeutiges . . .
    Danke schon mal,
    Rose



  • Rose schrieb:

    Hallo,
    kleine Frage: Ist es möglich, zwei oder mehrere Funktionsausfrufe, die einen Rückgabewert als return beinhalten, in eine Main-Funktion zu schreiben

    Das ergibt keinen Sinn.

    int Funktion(int a); // Deklaration
    int Funktion(int a) { return ... } // Definition
    int b = Funktion(5); // Aufruf
    

    , also so nach dem Muster:
    main()
    {
    int Funktion1(Eins)
    {
    . . .berechne irgendwas

    return Eins
    }

    int Funktion2(Zwei)
    {
    . . .berechne irgendwas mit Reurnwert Eins

    return Zwei
    }
    }

    Nein, Funktionen können nicht verschachtelt werden. Warum willst du das machen?

    Ich möchte gerne, dass Funktion 2 mit dem Ergenbis von 1 etwas macht.

    Aha. Dann mach das doch so:

    int ergebnis = Funktion1(42);
    Funktion2(ergebnis);
    // oder kürzer, ohne Zwischenergebnis:
    Funktion2(Funktion1(42));
    

    Brauche ich die main-Funktion dann überhaupt? Finde dazu nichts eindeutiges . . .

    Die main-Funktion brauchst du immer. Hoffe das ist eindeutig genug 😉



  • Danke für die Hinweise!
    P.S.Das mit der main-Funktion, dass war eindeutg genug! 😉
    VG,
    Rose



  • und die Funktion heißt int main



  • supertux schrieb:

    und die Funktion heißt int main

    Seit wann ist der Rückgabetyp Bestandteil des Funktionsnamens? 😉



  • interpreter schrieb:

    supertux schrieb:

    und die Funktion heißt int main

    Seit wann ist der Rückgabetyp Bestandteil des Funktionsnamens? 😉

    Ich wollte eher sagen, dass man int main deklarieren soll, weil er mur main(){...} hat



  • supertux schrieb:

    interpreter schrieb:

    supertux schrieb:

    und die Funktion heißt int main

    Seit wann ist der Rückgabetyp Bestandteil des Funktionsnamens? 😉

    Ich wollte eher sagen, dass man int main deklarieren soll, weil er mur main(){...} hat

    Wenn nur main() dasteht wird's vom Compiler eh als int main() angenommen.

    Grüße,
    Harri



  • harry3 schrieb:

    supertux schrieb:

    interpreter schrieb:

    supertux schrieb:

    und die Funktion heißt int main

    Seit wann ist der Rückgabetyp Bestandteil des Funktionsnamens? 😉

    Ich wollte eher sagen, dass man int main deklarieren soll, weil er mur main(){...} hat

    Wenn nur main() dasteht wird's vom Compiler eh als int main() angenommen.

    Grüße,
    Harri

    Im alten C Standard wurde dann implizit angenommen, dass ein int zurückgegeben würde. Im aktuellen Standard ist dies ein Fehler, nach C99 ist das falsch.


Anmelden zum Antworten