Einfache logische verknüfung! < Sonstiges < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:01 Sa 08.03.2008 | Autor: | maniche |
Hallo
Ich habe ein Problem mit vollgenden logischen verknüpfungen
int a=6,b=5,c=5 d=5
int z,z2,2
z2= a||b==d&&c!=b;
z3= !a||b==c&&c!=d;
Die Frage ist, was bei einer printf anweisung für z1 und z2 ausgegeben wird.
Mein Problem ist, das ich nicht so recht weiß, was a und !a tun. also bei z2 würde ich sagen "a ODER (b gleich d und c nicht b)" wie man sehen kann ist b=0 weil c!=b nicht stimmt. und a ist 5 aber wieso kommt da jetzt für z2 ein 1 (wahr) raus?
bei z3 ist es dasselbe b wieder 0 und a = nicht 5 ?
mfg
maniche
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:41 Sa 08.03.2008 | Autor: | Gilga |
Ich glaub && hat eine höhere Präferenz als ||
Dann haben wir a || .... und a ist nicht 0 also wahr. Also alles wahr.
kann ist b=0
???????
Hast du dich vertiipt???
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 10:01 So 09.03.2008 | Autor: | maniche |
Hallo,
nein b = 5
und als ergebnis kommt raus, fürs 1= 1 (wahr) fürs 2. = 0
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:00 So 09.03.2008 | Autor: | Zneques |
Hallo,
int a=6,b=5,c=5 d=5
z2= a||b==d&&c!=b;
z3= !a||b==c&&c!=d;
D.h.
[mm] z_2=6 [/mm] oder 5 gleich 5 und 5 ungleich 5
mit den entsprechenden Prioritäten
=6 oder 5 gleich 5 und (5 ungleich 5)
=6 oder (5 gleich 5) und 0
=6 oder (1 und 0)
=6 oder 0
=1
z3= !a||b==c&&c!=d
=(nicht 6) oder 5 gleich 5 und 5 ungleich 5
=0 oder 5 gleich 5 und (5 ungleich 5)
=0 oder (5 gleich 5) und 0
=0 oder (1 und 0)
=0 oder 0
=0
Ciao.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:40 So 09.03.2008 | Autor: | maniche |
danke ich glaub ich habe verstanden, das z.b !0 wahr ist und !5 unwahr ist :) danke
|
|
|
|