• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zagnieżdżanie if

Object Storage Arubacloud
0 głosów
476 wizyt
pytanie zadane 10 lipca 2020 w C i C++ przez Nikto0 Użytkownik (500 p.)

Witam. Dlaczego w tym pseudokodzie else odnosi się do if warunku pierwszego?

if(warunek pierwszy)
{
       if(warunek drugi)
       {
           //...
        }
}
else //else dla warunku pierwszego
{
   //...
}

 

3 odpowiedzi

+1 głos
odpowiedź 10 lipca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
Ponieważ są napisane w tym samym pionie jak byś przesunął tego elsa pod tego drugiego if-a należał by do tego drugiego if-a tylko oczywiście byś musiał zamkną to w klamrach tego 1 if-a
komentarz 10 lipca 2020 przez Nikto0 Użytkownik (500 p.)
A jak działa zasada która mówi, że jeśli nie decydują o tym nawiasy klamrowe to else odnosi się do poprzedzającego go if?

Czy tutaj ona ma zastosowanie?
1
komentarz 10 lipca 2020 przez KamQiX Dyskutant (9,090 p.)
Nie, ponieważ tutaj decydują o tym nawiasy klamrowe :)
komentarz 10 lipca 2020 przez Nikto0 Użytkownik (500 p.)
A jakby to wyglądało według tej zasady?
1
komentarz 10 lipca 2020 przez Marak123 Stary wyjadacz (11,190 p.)
0 głosów
odpowiedź 10 lipca 2020 przez Amatorcpp Obywatel (1,590 p.)
edycja 10 lipca 2020 przez Amatorcpp
if(warunek pierwszy)
{
       if(warunek drugi)
       {
          
        }
        else //else dla warunku 2
          {
          }
}

 

komentarz 10 lipca 2020 przez KamQiX Dyskutant (9,090 p.)
Nie, to else dla drugiego warunku.
komentarz 10 lipca 2020 przez Amatorcpp Obywatel (1,590 p.)
ja ja tu pokazuje dla drugiego
komentarz 10 lipca 2020 przez KamQiX Dyskutant (9,090 p.)
Nie rozumiem :P
komentarz 10 lipca 2020 przez Amatorcpp Obywatel (1,590 p.)
Ja pokazałem kod w którym else odnosi się do drugiego warunku
0 głosów
odpowiedź 10 lipca 2020 przez amtrax Dyskutant (9,630 p.)

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 
[....] 

 

Podobne pytania

0 głosów
1 odpowiedź 140 wizyt
pytanie zadane 25 grudnia 2019 w C i C++ przez kondron Nowicjusz (120 p.)
0 głosów
1 odpowiedź 95 wizyt
pytanie zadane 10 czerwca 2019 w C i C++ przez RSG00 Nowicjusz (170 p.)
0 głosów
2 odpowiedzi 412 wizyt
pytanie zadane 24 lipca 2020 w C i C++ przez Nikto0 Użytkownik (500 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...