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

Wyjaśnienie pętli

0 głosów
831 wizyt
pytanie zadane 4 marca 2017 w C i C++ przez elviszsz Nowicjusz (140 p.)

Witam.

Mógłby ktoś wyjaśnić dlaczego Output z tej pętli =8?

Nie powinno dać 6?

int y;
for(y=2; y<=6; y+=2) { }
cout<<y;

 

3 odpowiedzi

+1 głos
odpowiedź 4 marca 2017 przez MararOn Bywalec (2,620 p.)
Bo przy y==6 pętla wykonuje się jeszcze raz(zwiększając y do 8) i dopiero wtedy się przerywa
+1 głos
odpowiedź 4 marca 2017 przez rusk Obywatel (1,640 p.)
Ostatni obrót pętli wykona się przy y=6. Przy następnej iteracji y zostanie ponownie zwiększona o 2 (y=8) oraz zostanie sprawdzony warunek wyjścia (y<=6). Pętla sie nie wykona ale wartość zmiennej zostanie.
+1 głos
odpowiedź 4 marca 2017 przez Chess Szeryf (76,730 p.)

Dla igreków mniejszych bądź równych sześć pętla kończy swoje działanie.  Wszystko jest poprawne. Mi w kompilacji wychodzi:

2

4

6

Pomyliłeś się w kodzie/pogubiłeś się. Zaraz wyjaśnię ci, na czym poległeś, a mianowicie:

#include <iostream>

using namespace std;

int main()
{
    int y;
    for(y=2; y<=6; y+=2)
    {
        cout<<y;
    }
    cout<<y;
}

Pierwszy cout wypisuje ci cyfry od 2 do 6, a w pamięci dla "igreka" trzyma wartość: 8. Czyli teraz masz:

246

A drugi cout wypisuje ci ostatnią cyfrę, która by się wypisała, gdyby warunek był prawidzwy i masz wtedy:

8

Czyli całość, bo nie ma znaku nowej linii będzie takie:

2468

Chodziło ci pewnie o taki kod, więc zastąp tym kodem tamten:

#include <iostream>

using namespace std;

int main()
{
    int y;
    for(y=2; y<=6; y+=2)
    {
        cout<<y;
    }
   
}

 

Dla jeszcze lepszego zobrazowania podam ci twój kod, ale w innej formie.

#include <iostream>

using namespace std;

int main()
{
    int y;
    for(y=2; y<=6; y+=2)
    {
        cout<<y;
    }
    cout<<endl<<endl<<y;
}

 

Podobne pytania

0 głosów
1 odpowiedź 937 wizyt
pytanie zadane 4 listopada 2016 w C i C++ przez Emil Panecki Bywalec (2,100 p.)
0 głosów
1 odpowiedź 397 wizyt
pytanie zadane 12 stycznia 2019 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
1 odpowiedź 1,296 wizyt
pytanie zadane 16 lutego 2017 w C i C++ przez admaj1212 Początkujący (320 p.)

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,322 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...