XOR? Frage zu Funktion



  • Hallo zusammen,

    Ich hätte eine Frage zur folgenden Funktion

    #include <stdio.h>
    
    int main(int x)
    {
        int i;
        for (i=0; i<16; i++)
        {
        	x^=i;
        	return x;
        }
    
    }
    

    Meine Frage ist ziemlich simpel, welchen Wert hat x?
    Ich habe mir mal die Schleife komplett auf der Konsole ausgeben lassen, aber ich komme irgendwie nicht dahinter, aus was x sich zusammen setzt.
    Meiner Annahme nach steht ^= für xor?

    Hoffe Ihr könnt mir helfen.
    Grüße
    Ben



  • Weißt du denn, was der erste Paramter von main bedeutet?

    Warum lädst du stdio.h und nutzt nicht eine Funktion daraus?

    Und was soll das return in der Schleife?



  • Die Funktion ist nicht von mir, sprich ich habe sie selber nicht verfasst.
    Sie ist Teil einer Übungsaufgabe.

    Aufgabenstellung:
    Beweisen Sie, dass durch die gegebene Abbildung den Wertebereich des Datentyps int bijektiv auf sich abbildet.


  • Mod

    BenJohn schrieb:

    Die Funktion ist nicht von mir, sprich ich habe sie selber nicht verfasst.
    Sie ist Teil einer Übungsaufgabe.

    Da sind so viele Fehler drin, entweder hast du das schlecht abgetippt, oder du solltest den Kurs beenden. Jetzt sofort.



  • Ich habe die Funktion per CopyPaste hier angefügt.
    Mein Nachhilfe Lehrer hat mir diese Funktion per Mail geschickt, es soll wohl eine Aufgabe aus einer Klausur sein? Er ist aber zurzeit nicht erreichbar.

    Gibt es denn eine Sinnvolle Funktion um die Aufgabenstellung zu beantworten?


  • Mod

    BenJohn schrieb:

    Gibt es denn eine Sinnvolle Funktion um die Aufgabenstellung zu beantworten?

    Möglicherweise

    int abbildung(int x)
    {
      return x ^ 0;
    }
    

    Das ist zumindest nicht mehr direkter Unsinn. Und es "transformiert" das x auf genau die gleiche Art und Weise wie die vollkommen nichtstuende Schleife in deinem Original. Jedoch bleibt der miese Nachgeschmack, dass eine Zahl XOR 0 (ja, ^ ist XOR) gleich sich selber ist, also die Funktion identisch ist zu

    int abbildung(int x)
    {
      return x;
    }
    

    Womit die Aufgabenstellung trivial ist.

    Mein Nachhilfe Lehrer hat mir diese Funktion per Mail geschickt, es soll wohl eine Aufgabe aus einer Klausur sein? Er ist aber zurzeit nicht erreichbar.

    Wie gesagt, das ist so falsch, du solltest sofort abhauen. Dieser Quelltext als Übungsaufgabe ist das Äquivalent zu einem Rundschreiben vom Deutschlehrer "mOrgÄhn, bitdÄ dass dicktadHÄfttäh Mittbinngänn!!! eß gibtt aufSaz!!".



  • Okay, danke trotzdem für deine Bemühung. Dann werd ich wohl abwarten müssen bis ich meinen Nachhilfe Lehrer fragen kann.



  • SeppJ schrieb:

    Dieser Quelltext als Übungsaufgabe ist das Äquivalent zu einem Rundschreiben vom Deutschlehrer "mOrgÄhn, bitdÄ dass dicktadHÄfttäh Mittbinngänn!!! eß gibtt aufSaz!!".

    👍


Anmelden zum Antworten