W tym przypadku klamry określają "zasięg" instrukcji warunkowej.
if (warunek pierwszy)
{
if (warunek drugi zagniezdzony)
{
[....]
}
else [....] // else jest zagnieżdzone w warunku pierwszym podobnie jak druga instrukcja //warunkowa dlatego odnosi się właśnie do niej.
}
else //odnosi się do warunku pierwszego, jest umiejscowione za ostatnią klamrą 1 instrukcji
[....]
M.in w wyrażeniach warunkowych nie trzeba używać nawiasów klamrowych, jeżeli blok zawiera jedną instrukcję
Jednak w takim przypadku jak poniżej, najlepiej zastosować klamry ze względu na czytelność kodu.
if (i > 2 || j < 5) // 1 warunek
if (j > 3) // 2 warunek if, zagnieżdzony
j++;
else //else odnosi się do 2 warunku
j--;
else // odnosi się do 1 warunku
[....]