Was macht der folgende C++ Code?

  • C++

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Was macht der folgende C++ Code?

    #include
    int doAStrangeThing(int (*arg0)(), int (*arg1)());

    int main()
    {
    printf("result=%dn",
    doAStrangeThing(main, doAStrangeThing));
    }

    int doAStrangeThing(int (*arg0)(), int (*arg1)())
    {
    return (int)abs(arg1-arg0);
    }

    Kann mir jemand sagen, was dieser C++ Code macht?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Wer auch immer das geschrieben hat, muss ganz schön Kenne von C++ haben:

    [list]
    <li> Die Funktion doAStrangeThing bekommt den Datentyp Integer und die beiden Zeiger arg0 und arg1 als Argumente (beides Integer).
    <li> In der int_main werden dann zwei Eingaben verlangt
    <li> und anschließend doAStrangeInt (mit den beiden Eingaben als Argumente) ausgeführt
    <li> In der Funktion an sich wird einfach nur arg0 (also die erste Eingabe) von arg1 (der zweiten Eingabe) abgezogen.
    [/list]

    Im Prinzip ist das also einfach nur ein Subtraktionsprogramm. Wirklich sehr .. 'strange' ;)

    mfG,

    Malcolm

    ps: hab' z.Z. kein C++ installiert, deshalb kann es sein, dass ich den Code falsch interpretiert habe. Falls dem so ist, bitte korrigieren.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Malcolm“ ()

    Du sagtest In der int_main werden dann zwei Eingaben verlangt. Heisst dass, der User muss was eingeben? Und dieses printf("result=%dn", ist das eine formatierte Ausgabe? Oder was bedeutet "%dn"?

    Danke!


    <font color="darkblue"> Edit: Hat sich erledigt! Habe woanders Hilfe bekommen! Nochmals danke! </font>
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Dann würde es mich interessieren, wer dir beim Code
    geholfen hat. Die Funktion erfordert keinerlei
    Benutzerinteraktion, das einzige was sie macht ist
    das Ergebnis von doAStrangeThing() auszugeben.
    doAStrangeThing subtrahiert die Speicheraddresse der
    main-Funktion von der der doAStrangeThing Funktion.
    Außerdem, ist der Code so doch nicht komplett, da
    fehlt doch noch was ...
    @Unknown: Du hast Recht, der Code erfordert keinerlei Benutzerinteraktion, da hatte Malcolm unrecht. Aber das hat mir die andere Person auch gesagt. Und nein, der Code ist nicht unvollständig.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Eine include Anweisung ist da, aber keine Header
    Datei, die eingebunden werden soll. Das 'n' in der
    formatierten printf Anweisung müsste ein '\n' sein,
    denn es soll ja wahrscheinlich einen Zeilenumbruch
    erzeugen. Die main Funktion gibt auch keienn Wert
    zurück. Der Code kann doch so nicht komplett sein
    (zumindest wird der nicht funktionieren).