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 dasNette 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.
-
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.