return in c



  • hallo!

    wir haben als hü n programm zu schreiben,
    was ich auch schon getan hab nur muss ich in einer funktion mehrere werte zurückgeben.
    das problem ist dass er mit keinen einzigen wert zurückgibt.

    hier der source:

    int abfragegebd(tDatum gebd) {

    printf("Geburtsdatum:\n\n");
    printf("Bitte geben sie nun ihren Geburtstag ein:\t");
    scanf("%d", &gebd.tag);
    printf("Bitte geben sie nun ihr Geburtsmonat ein:\t");
    scanf("%d", &gebd.monat);
    printf("Bitte geben sie nun ihr Geburtsjahr ein:\t");
    scanf("%d", &gebd.jahr);

    printf("\n\tWeiter mit beliebiger Taste");
    getch();
    system("cls");

    return tDatum gebd.tag, tDatum gebd.monat, tDatum gebd.jahr;
    }

    was könnte am return nich stimmen?

    ich bitte um eine schnelle brauchbare antwort.
    danke,
    mfg. mod.aex



  • du kannst nicht mehr als 1 Objekt zurückgeben und auf Struktur Member greifst du auch anders zu.



  • Wozu willst du was zurück geben, die Variablen werden mit dem .-Operator aufgerufen woraus ich schließe das sie sich in einer struktur oder so befinden. Außerdem kannst du nicht einen Typ an integer zurückgeben, lass also den Typ weg, bei deinem return. Und mit komma geht das glaube ich nicht, da musst du char nehmen und deine 3 Werte in einem String speichern.

    Außerdem ist deine Frage im falschen Forum!!!

    Code-Hacker



  • Sicher, dass ihr versucht C zu programmieren?

    Sry, wenn sich das so komisch anhoert, aber wer auf solche Zeilen, wie deine
    return-Anweisung kommt, hat IMO nicht seine Hausaufgaben gemacht oder euch
    wurde nicht beigebracht, wie die return-Anweisung funktioniert, was eigentlich
    in jedem Buch stehen sollte.

    Mehrere Werte koennen in C _nicht_ zurueckgegeben werden, ausser:

    * du gibst den Typ zurueck, aenderst also entsprechend den returntype
    * den Uebergabeparameter als einen Pointer deklarieren, nachdem die
    Funktion abgearbeitet wurde, hast du dann das Ergebnis (ist allerdings
    eine, naja, nich sooo schoene Loesung)

    mfg
    v R


Anmelden zum Antworten