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

Niezrozumiałe warunki pętli

+1 głos
85 wizyt
pytanie zadane 10 marca 2018 w C i C++ przez Sic Mądrala (7,330 p.)

Witam znalazłem podczas analizy kilka warunków pętli, których nie dokońca rozumiem. W jaki sposób pętla ma się skończyć:

1. while( ct--) 
2. for(i =0; i < n && str[i]; i++ 

Proszę o wytłumaczenie. Wolę zapytać niż udawać, że wiem.

1 odpowiedź

0 głosów
odpowiedź 10 marca 2018 przez Arkadiusz Sikorski Pasjonat (19,380 p.)
edycja 10 marca 2018 przez Arkadiusz Sikorski
Przypadek pierwszy: sprawdzany jest warunek pętli - jeżeli zmienna ct jest różna od zera, to warunek jest spełniony, następuje dekrementacja, wykonuje się ciało pętli. Jeżeli zmienna ct jest równa zero, to wyskakujemy z pętli i zmienna ct jest dekrementowana. Przypominam, że w C (no i konsekwentnie w C++) wartość zero jest traktowana jako false, inne wartości jako true.

Przypadek drugi: pętla ma niejako dwa warunki, jeden standardowy, i < n. Drugi natomiast sprawdza, czy znak spod indeksu jest różny od zera, czy równy zero (znak o kodzie zero = koniec C-stringa). Przykład wyjścia z takiej pętli: chcemy przejść po 10 znakach podanego wyrazu(pierwsza część warunku pętli dla n = 10). Jeżeli wyraz jest krótszy, to wyskoczymy z pętli dzięki && str[i] i nie będziemy przeglądać losowych bajtów z pamięci.

PS. Usuń ten kod HTML-a z bloczku z kodem, bo jest mylący.

Podobne pytania

0 głosów
2 odpowiedzi 86 wizyt
0 głosów
4 odpowiedzi 91 wizyt
pytanie zadane 9 października w JavaScript, jQuery, AJAX przez Pytajnikowiec Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 59 wizyt
pytanie zadane 28 września w C i C++ przez enigmatycznyclay Bywalec (2,400 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

67,129 zapytań

114,075 odpowiedzi

241,789 komentarzy

47,030 pasjonatów

Przeglądających: 206
Pasjonatów: 14 Gości: 192

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...