Vergleichsoperatoren in Abfragen

OP #1540721
Lesenswert?

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
#1540742
Lesenswert?

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 )
#1540758
Lesenswert?

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.
#1540764
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren