Példa
A zárójelek elhagyhatók az if utasítás után. Ha ez megtörténik, a következő (pontosvesszővel meghatározott) sor lesz az egyetlen feltételes utasítás.
if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120) {digitalWrite(LEDpin, HIGH);}
if (x > 120) {
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
}
// mind helyes
Megjegyzések és figyelmeztetések
Az utasítások zárójelében lévő kifejezésének kiértékeléshez egy vagy több alább látható operátort kell használni.
Összehasonlító operátorok:
x == y (x egyenlő y-nal)
x != y (x nem egyenlő y-nal)
x < y (x kisebb mint y)
x > y (x nagyobb mint y)
x <= y (x kisebb mint y, vagy egyenlő vele)
x >= y (x nagyobb mint y, vagy egyenlő vele)
Ügyeljen arra, nehogy véletlenül egyetlen egyenlőségjelet használjon (például if (x = 10)
). Az egyetlen egyenlőségjel a hozzárendelés operátora, és x
-et 10-re állítja (a 10 értéket az x
változóba helyezi). Ehelyett használja a kettős egyenlőségjelet (pl. if (x == 10)
), amely az összehasonlítás operátora, és megvizsgálja, hogy vajon x
egyenlő-e 10-zel vagy sem. Az utóbbi állítás csak akkor true, ha x
értéke 10, de az előbbi állítás mindig true.
Ennek az az oka, hogy a C++ a következőképpen értékeli ki az utasítást, if (x=10)
: 10 van hozzárendelve x
-hez (ne feledje, hogy az egyetlen egyenlőségjel a hozzárendelési operátor), így x
most 10-et tartalmaz. Ezután az 'if' feltétel 10-et eredményez, amely mindig true
értéket ad, mivel minden nullától eltérő szám true
. Következésképpen az if (x = 10)
mindig true
értékű lesz, ami nem a kívánt eredmény az 'if' utasítás használatakor. Ezenkívül az x
változó 10-re lesz állítva, ami szintén nem a megkívánt művelet.