0
liefert und
WAHR/true einen Wert ungleich 0
.
Operator | Beschreibung | Beispiel | ||
> |
größer | b > a |
||
>= |
größer oder gleich | b >= 3.14 |
||
< |
kleiner | a < b/3 |
||
<= |
kleiner oder gleich | b*a <= c |
||
== |
gleich (! bei Gleitkommazahlen!) | a == b |
||
!= |
ungleich (! bei Gleitkommazahlen!) | a != 3.14 |
{ bool bi,bj; int i; bi = ( 3 <= 4 ); bj = ( 3 > 4 ); cout << " 3 <= 4 TRUE = " << bi << endl; cout << " 3 > 4 FALSE = " << bj << endl; // if - statement will be defined in Sec. 4 i = 3; if (i <= 4) { cout << "\n i less or equal 4 \n\n"; } } |
Ein typischer Fehler tritt beim Test auf Gleichheit auf, indem
statt des Vergleichsoperators ==
der Zuweisungsoperator
=
geschrieben wird. Der Compiler akzeptiert beide
Quelltexte, eventuell (compilerabhängig) wird beim falschen Code
eine Warnung ausgegeben.
{ // Incorrect Code int i; i = 2; if ( i = 3 ) // Assignment i=3 is always true !! { cout << " BB: i = " << i << endl; // i is 3 i = 0; } cout << " CC: i = " << i << endl; // i is always 0 !! } |
Im inkorrekten Code tritt der unerwünschte Nebeneffekt auf,
daß der Wert der Variablen i
im Test geändert wird,
während folgender, korrekter Code keinerlei Nebeneffekte aufweist.
{ // Correct Code int i; i = 2; if ( i == 3 ) // Correct comparison { cout << " BB: i = " << i << endl; // i always remains 2 i = 0; } cout << " CC: i = " << i << endl; // i is still 2 !! } |