Wie geht denn das hier?



  • "Schreiben Sie ein Programm, das prüft, ob bei der Addition von zwei Werten zuerst der linke oder zuerst der rechte Wert ausgewertet wird!"

    Wie kann man das sowas machen??



  • Ziemlich komische Frage, ich wuerde das so machen:

    int foo(int i)
    {
      cout << i << endl;
      return i;
    }
    void bar()
    {
      cout << (foo(1) + foo(2)) << endl:
    }
    int main()
    {
      bar();
      return 0:
    }
    

    Wenn 1 zuerst erscheint dann links vor rechts, sonst umgekehrt.



  • Indem die Addition mit den Rückgabewerten von zwei Funktionen durchgeführt werden, welche sich in einer Variablen entsprechend eintragen, wenn die andere Funktion noch keinen Eintrag gemacht hat.

    Edit: Mist, war wieder zu langsam.

    Verständnisfrage: Warum wird hier nicht erst die Klammer ausgewertet, sodaß auch hier immer 3 kommen müßte. Wenn das funktioniert, verstehe ich das ganze C++ nicht mehr 😕



  • Manfred Schmidtke schrieb:

    Verständnisfrage: Warum wird hier nicht erst die Klammer ausgewertet, sodaß auch hier immer 3 kommen müßte. Wenn das funktioniert, verstehe ich das ganze C++ nicht mehr 😕

    Ich sehe da kein Problem. Bei mir lautet die Ausgabe

    1
    2
    3
    

    Sollte ich dein Problem nicht richtig verstanden haben, bitte etwas deutlicher beschreiben.

    Moritz



  • Heute nicht mein Tag, die erste Zeile in foo habe ich glatt übersehen!


Anmelden zum Antworten