Hallo Forum!
Ich hab eine Frage, worauf die Antwort bestimmt ganz einfach ist. Aber
ich bin eben nicht 100%ig sicher. Es handelt sich um die Bedingung bei
z.B. einer if-Abfrage.
Ich hab das bisher immer ganz ordentlich so gemacht:
if(x == 0)
{...}
macht NUR DANN was, wenn x = 0 ist
oder
if(x != 0)
{...}
macht was, wenn x irgendwas anderes als 0 ist
Jetzt hab ich aber nen Code vorliegen, wo steht
if(x)
{...}
else
{...}
Ich interpretiere das so, daß die Bedingung erfüllt ist, wenn x
irgendwas nur nicht 0 ist (z.B. 1). Sonst, also wenn x = 0 ist, dann
(else).
Daraufhin steht da aber noch
if(!x)
{...}
else
{...}
Ich interpretiere das so, daß die Bedingung erfüllt ist, wenn x NICHT
etwas anderes als 0 ist, also x = 0. Sonst, also wenn x etwas anderes
als 0 ist, dann (else).
So, WENN ich das jetzt richtig interpretiert haben sollte, DANN ist das
doch doppelt-gemoppelt! Weil dann ist ja die erste if-else-Abfage
einfach nur das Umgekehrte von der zweiter, oder?
Hoffe ihr könnt mir bei diesem schlichten "Problem" helfen.
Danke schonmal im Voraus,
vG,
Joachim
Du sollst nicht interpretieren, sondern ein C-Buch lesen. In C ist jeder Ausdruck, der ein Ergebnis von 0 liefert auch gleichzeitig 'logisch FALSE, während jedes Ergebnis ungleich 0 als 'logisch TRUE' gewertet wird if( x ) ist also identisch zu if( x != 0 ) und if( !x ) ist identisch zu if( x == 0 )
Hi und danke für die rasche Antwort! Hast ja recht mit dem Buch, aber ich bin grad nicht zu Hause und hab das Buch nicht greifbar :( . Aber ist meine "Verstehungsweise" des oberen Codes soweit korrekt? Ich finde, daß sich deine (Karl Heinz) Aussage mit meiner deckt ;) ...
Das hier > Daraufhin steht da aber noch > if(!x) > {...} > else > {...} > > Ich interpretiere das so, daß die Bedingung erfüllt ist, wenn x NICHT > etwas anderes als 0 ist, also x = 0. Sonst, also wenn x etwas anderes > als 0 ist, dann (else). ist falsch aufgefasst. Denk nochmal darüber nach.
Karl heinz Buchegger schrieb: > Das hier > >> Daraufhin steht da aber noch >> if(!x) >> {...} >> else >> {...} >> >> Ich interpretiere das so, daß die Bedingung erfüllt ist, wenn x NICHT >> etwas anderes als 0 ist, also x = 0. Sonst, also wenn x etwas anderes >> als 0 ist, dann (else). > > ist falsch aufgefasst. Denk nochmal darüber nach. Vergiss diese Aussage. Deine Auffassung ist korrekt. Ich habe dein abschliessende Schlussfolgerung (die richtig ist) übersehen.
Super, dankeschön! Erledigt :)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.