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 !!
}
|