if(a != b || c)



  • hi 😉

    ich hab eine kleine Frage unnnnd zwar ob

    if(a != b || c)
    

    gleich

    if(a != b || a != c)
    

    bedeutet?

    Das interessiert mich nähmlich 😃

    Mit freundlichen Grüßen,
    Spongebob Schwammkopfs bester Freund, Patrick Star



  • Mach ne Wertetabelle und finds raus 😉

    Patrick Star schrieb:

    nähmlich

    Meine Deutschlehrerin sagte immer: "Wer nämlich mit h schreibt ist dämlich."



  • "Wer nämlich mit h schreibt ist dämlich."

    Nicht dähmlich?



  • Ne, ist was anderes 😉

    Es gibt Operator-Rangfolgen, also welche zuerst ausgewertet werden. In deinem Beispiel gibts 2 Operatoren, != und ||. Die Operatoren werden quasi in einen Baum aufgeteilt, etwa so:

    oder
         /  \
     a!=b    c
    
    =>
    
            oder
          /      \
       ungleich   c
       /    \
      a      b
    

    Und so wird es halt ausgewertet. Erst ob a ungleich b wahr ist. Wenn es wahr ist, wird die Auswertung mit "true" abgebrochen, weil ein Teil vom "oder" erfüllt ist. Wenn es zu "falsch" evaluiert, guckt er, ob "c" zu true oder false wird.
    So läuft das 🙂



  • Jo, das hier bringt das gut rüber.

    int a = 10;
    int b = 10;
    int c = 10;
    
    if(a != b || a != c)
    {
         MessageBox::Show("\"a != b || a != c\" = true");
    }
    else
    {
         MessageBox::Show("\"a != b || a != c\" = false");
    }
    
    if(a != b || c)
    {
         MessageBox::Show("\"a != b || c\" = true");
    }
    else
    {
         MessageBox::Show("\"a != b || c\" = false");
    }
    


  • ich kann nicht "nämlich" schreiben^^ auf jeden Fall danke(kann ja nichts dafür, bin Patrick Star^^)

    zum Badestrand:

    also wenn ein && da wäre würde ich gerne wissen, hab mich nur verschrieben 🕶

    Patrick



  • Badestrand schrieb:

    Ne, ist was anderes 😉

    Es gibt Operator-Rangfolgen, also welche zuerst ausgewertet werden. In deinem Beispiel gibts 2 Operatoren, != und ||. Die Operatoren werden quasi in einen Baum aufgeteilt, etwa so:

    oder
         /  \
     a!=b    c
    
    =>
    
            oder
          /      \
       ungleich   c
       /    \
      a      b
    

    Und so wird es halt ausgewertet. Erst ob a ungleich b wahr ist. Wenn es wahr ist, wird die Auswertung mit "true" abgebrochen, weil ein Teil vom "oder" erfüllt ist. Wenn es zu "falsch" evaluiert, guckt er, ob "c" zu true oder false wird.
    So läuft das 🙂

    Nette Zeichnung 😃

    Bist du sicher, dass die Auswertungsreihenfolge von links nach rechts vorgegeben ist beim ||? Ich dachte man dürfte sich nicht darauf verlassen, da es auch sein könnte, dass er erst c auswertet.

    Gruß,
    MTE.


  • Mod

    MTE schrieb:

    Bist du sicher, dass die Auswertungsreihenfolge von links nach rechts vorgegeben ist beim ||? Ich dachte man dürfte sich nicht darauf verlassen, da es auch sein könnte, dass er erst c auswertet.

    Wenn der betreffende Operator nicht gerade überladen wurde, dann ist es so für && und || (aus diesem Grunde sollte man sie auch nicht überladen).

    ein gängiges Idiom ist

    T* p = ...
    if ( p && p->flag ) ...
    


  • camper schrieb:

    MTE schrieb:

    Bist du sicher, dass die Auswertungsreihenfolge von links nach rechts vorgegeben ist beim ||? Ich dachte man dürfte sich nicht darauf verlassen, da es auch sein könnte, dass er erst c auswertet.

    Wenn der betreffende Operator nicht gerade überladen wurde, dann ist es so für && und || (aus diesem Grunde sollte man sie auch nicht überladen).

    Passendes Stich-/Suchwort: Kurzschlussoperatoren



  • Wie gesagt.Aber die SDL
    mag mein Compeiler nicht (Genau wie Windows).
    Also: Bitte zeigt mir ein pragrammbeispiel, um ein (2 Dimensionales) Bitmap(ohne Animation)einfach zu laden(Am besten mit Vollbildmodus)und die Coordinaten
    fest zu legen(den Rest mach ich selbst 🙂 ).
    Bitte antwortet 😞 😞 😞 !



  • Mr_Bannane schrieb:

    Wie gesagt.Aber die SDL
    mag mein Compeiler nicht (Genau wie Windows).
    Also: Bitte zeigt mir ein pragrammbeispiel, um ein (2 Dimensionales) Bitmap(ohne Animation)einfach zu laden(Am besten mit Vollbildmodus)und die Coordinaten
    fest zu legen(den Rest mach ich selbst 🙂 ).
    Bitte antwortet 😞 😞 😞 !

    http://de.wikibooks.org/wiki/SDL:_Bilder_und_Ereignisse

    Und nächstes mal bemühe bitte unser aller Freund Google.



  • KasF schrieb:

    Meine Deutschlehrerin sagte immer: "Wer nämlich mit h schreibt ist dämlich."

    Tja, da muss ich wohl dazu gehören. Ich schreibe nämlich immer mit h. 🙂


Anmelden zum Antworten