MudGuard: Wie komisch ist das denn?

Beitrag lesen

Hi,

Hello,

long double summe(long double s, long double *f, int n)
{
        if(n>1)
        {
                summe(s+*f++, f, n-1);
        }
        else
        {
                cout << "Berechneter Wert ist " << s << "\n" << s << ", jetzt erfolgt die funktionsübergabe: \n";
//                 return s;
        }
          return s;
}

Also meiner Meinung nach gehört das "return s" nach unten

Nö. So bringt das gar nichts. Wenn n > 1 ist, würde zwar summe aufgerufen, der zurückgegebene Wert aber nach wie vor ignoriert, und es würde der Parameter s so zurückgegeben, wie er an die Funktion übergeben wurde.

Es muß im Falle von n > 1 das Ergebnis des rekursiven Aufrufs zurückgegeben werden.

Und wo steht das Ergebnis?
MMn in s!

Nur im Fall n <= 1.

Im Fall n > 1 wird das Ergebnis des rekursiven Aufrufs nicht aufgefangen.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.