Logische Operatoren



  • Hallo! Ich habe eine Frage und zwar habe ich folgenden Ausdruck:

    5 && false

    Dies gibt mir 5 zurück. Aber ich verstehe nicht genau wieso. Wie kann ich mir das vorstellen? Was hat die 5 den für einen Wert intern? Oder wieso gibt es mir einfach 5 zurück. Hab auch 5 && true ausprobiert. Gibt ebenfalls 5.

    Sollte das logische && nicht eigentlich einen bool zurück? Und zwar true genau dann wenn beides korrekt ist?

    Bin grad etwas verwirrt! 😞


  • Mod

    Hallo! Ich habe eine Frage und zwar habe ich folgenden Ausdruck:

    5 && false

    Dies gibt mir 5 zurück.

    Lüg' nicht!



  • Arcoth schrieb:

    Hallo! Ich habe eine Frage und zwar habe ich folgenden Ausdruck:

    5 && false

    Dies gibt mir 5 zurück.

    Lüg' nicht!

    Ach herje.. Ich habe die Klammern vergessen.
    Beim Ausdruck:
    std::cout << (5 && false); gibts mir 0 zurück.
    std::cout << 5 && false ; gibts mir 5 zurück.

    Ohje. Aber ich verstehe nicht ganz, wie man eine Zahl (5) mit einem false vergleichen kann. Wie kann ich mir das vorstellen?



  • scoubina schrieb:

    Aber ich verstehe nicht ganz, wie man eine Zahl (5) mit einem false vergleichen kann.

    Warum machst Du es dann? 😕



  • scoubina schrieb:

    std::cout << (5 && false); gibts mir 0 zurück.
    std::cout << 5 && false ; gibts mir 5 zurück.

    Du meinst "gibt aus". Der erste Ausdruck gibt std::cout zurück, der zweite gibt false zurück.

    Ohje. Aber ich verstehe nicht ganz, wie man eine Zahl (5) mit einem false vergleichen kann. Wie kann ich mir das vorstellen?

    Die 5 wird implizit in true umgewandelt (0 wird zu false, alles andere wird zu true).



  • [quote="Furble Wurble"][quote="scoubina"]Aber ich verstehe nicht ganz, wie man eine Zahl (5) mit einem false vergleichen kann.[/quote]Warum machst Du es dann? 😕[/quote]

    Hehe, frag unser Dozent 😉



  • Vielen Dank euch, jetzt habe ich es verstanden!


Log in to reply