010
18.01.2007, 21:40 Uhr
Pablo
Supertux (Operator)
|
Zitat von Blubber2063: |
also 0 = false und > 0 ist true.
|
genauer gesagt ist 0 'falsch' und alles ungleich 0 'wahr'.
Der Rumpf der If Anweisung wird dann ausgeführt, wenn die Bedingung in der if Anweisung ungleich 0 ist. Wenn i als Variable ungleich 0 ist, dann ist sie wauch 'wahr'.
D.h. !i ist die Negation von i. Wenn i gleich 0 ist, dann ist !i etwas ungleich 0 (die meisten Compiler machen daraus eine 1), und wenn i ungleich 0 ist, dann ist !i gleich 0.
@XHatebreedX: ein x==3 liefert einen Wert gleich 0, wenn die Bedingung falsch ist, sonst etwas ungleich 0. Deswegen braucht man im Prinzip das ==, !=, <, >, <=, >= nicht, wenn man nur true/false testen will.
C++: |
if(0) { /* das wird nie ausgeführt */ }
if(3) { /* das wird immer ausgeführt */ }
if(x) { /* das wird ausgeführt, wenn x ungleich 0 ist */ }
if(y < z) { /* das wird ausgeführt, wenn der Vergleichsoperator einen Wert ungleich 0 liefert, sprich, wenn die Bedingung y < z erfüllt ist */ }
usw...
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 18.01.2007 um 21:44 Uhr von Pablo editiert. |