Hallo Kann mich jemand bitte aufklären wo hier die Unterschiede sind bzw. was konkret macht das letzte Bsp. oder wie gehört es geändert damit if ausgeführt wird wenn a != 2 oder a != 4 ist. if (a != 2) ist klar if (!((a == 2) || (a == 4))) funktioniert richtig, wenn a == 2 oder 4 ist, soll if nicht ausgeführt werden. if (!((a != 2) || (a != 4))) Danke!
wenns denn C o.ä. ist nimm statt || einfach | || ist ein binäres ODER | ist ein logische ODER
:
Bearbeitet durch User
hallo schrieb: > Hallo > > Kann mich jemand bitte aufklären wo hier die Unterschiede sind bzw. was > konkret macht das letzte Bsp. oder wie gehört es geändert damit if > ausgeführt wird wenn a != 2 oder a != 4 ist. > > if (a != 2) ist klar > > if (!((a == 2) || (a == 4))) funktioniert richtig, wenn a == 2 oder 4 > ist, soll if nicht ausgeführt werden. > > if (!((a != 2) || (a != 4))) > > Danke! Das erste "!" entfernen? Das ist dann dein "wenn a != 2 oder a != 4 ist" Dennis H. schrieb: > wenns denn C o.ä. ist nimm statt || einfach | > > || ist ein binäres ODER > | ist ein logische ODER Ist das ernst gemeint oder trollst du?
Dann spiel mal (a != 2) || (a != 4) für die Zahlen 1 bis 5 durch und überleg warum das Blödsinn ist
Tom schrieb: > Dann spiel mal (a != 2) || (a != 4) für die Zahlen 1 bis 5 durch und > überleg warum das Blödsinn ist Auf wen oder was beziehst du dich?
Dennis H. schrieb: > wenns denn C o.ä. ist nimm statt || einfach | > > || ist ein binäres ODER > | ist ein logische ODER Hä was? Erstens ist das für die meisten Compiler im genannten Fall egal, weil "a == 3" entweder 1 oder 0 ist, und zweitens ist | das bitweise oder, während || das logische oder ist.
hallo schrieb: > if ausgeführt wird wenn a != 2 oder a != 4 ist. a ist immer ungleich 2 oder 4. So eine Anfrage gibt keinen Sinn, vermutlich warnt sogar der Compiler. a soll ungleich 2 UND ungleich 4 sein
Beitrag #6464916 wurde von einem Moderator gelöscht.
mh schrieb: >> Dann spiel mal (a != 2) || (a != 4) für die Zahlen 1 bis 5 durch und >> überleg warum das Blödsinn ist > > Auf wen oder was beziehst du dich? Wenn ich nicht gerade einen Knoten im Kopf habe, ist die Abfrage per ODER Unfug und wird immer ausgeführt. 1 ist ungleich 2 und auch ungleich 4 2 ist ungleich 4 3 ist ungleich 2 und auch ungleich 4 4 ist ungleich 2 5 ist ungleich 2 und auch ungleich 4 Jetzt zeige mir eine Zahl, wo das nicht zutrifft! Diese Abfrage würde nur mit UND irgendeine Funktion bekommen.
Manfred schrieb: > mh schrieb: >>> Dann spiel mal (a != 2) || (a != 4) für die Zahlen 1 bis 5 durch und >>> überleg warum das Blödsinn ist >> >> Auf wen oder was beziehst du dich? > > Wenn ich nicht gerade einen Knoten im Kopf habe, ist die Abfrage per > [...] > Diese Abfrage würde nur mit UND irgendeine Funktion bekommen. Das ist mir klar, beantwortet aber nicht, auf wen oder was du dich bezogen hast.
1 | if (x != 2) |
2 | goto SPAGHETTI; |
3 | |
4 | if (x != 4) { |
5 | SPAGHETTI:
|
6 | puts("hier bin ich richtig"); |
7 | }
|
was erlauben Strunz? schrieb: > if (x != 2) > goto SPAGHETTI; > > if (x != 4) { > SPAGHETTI: > puts("hier bin ich richtig"); > } Nein ;-)
wie die Flasche leer schrieb: > was erlauben Strunz? schrieb: >> if (x != 2) >> goto SPAGHETTI; >> >> if (x != 4) { >> SPAGHETTI: >> puts("hier bin ich richtig"); >> } > > Nein ;-) Doch ! Einmal im Jahr schreibe ich irgendwo im Code ein goto. Einfach weil ich es kann.
hallo schrieb: > damit if ausgeführt wird wenn a != 2 oder a != 4 ist. > > wenn a == 2 oder 4 ist, soll if nicht ausgeführt werden. https://de.wikipedia.org/wiki/De-morgansche_Gesetze
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.