Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Może to żałosne, ale mam cały czas problem ze zrozumieniem pętli 'for'. Czemu ta pętla się nie kończy gdy licznik wynosi 5? Mógłby mnie ktoś poprawić? Bo muszę wiedzieć gdzie robie bład :)

#include <iostream>
#include <conio.h>

using namespace std;

void main()
{
    int nLicznik;
    for(nLicznik = 0, nLicznik = 5; ++nLicznik;)
            cout << "zapetlono po raz: " << nLicznik << endl;
}

 

EDIT: Wiem, że na końcu powinno byc getch() żebym zdążyl zobaczyć co tam pisze więc "żeby nie było" :P

Opublikowano
#include <iostream>
#include <conio.h>

using namespace std;

void main()
{
    for( int nLicznik = 0; nLicznik <= 5; nLicznik++)
            cout << "zapetlono " << nLicznik << endl;
}

  • Filar Społeczności
Opublikowano

W drugim argumencie pętli for powinien być warunek (tak jak napisał to Tymon), który musi zostać spełniony by pętla się wykonała. Zamiast tego dałeś przypisanie (=), które zwraca true (bo przypisanie 5 do zmiennej int w tym przypadku zawsze się udaje), więc pętla się nigdy nie kończy.

 

To są właśnie skutki złego nawyku z GM'a, gdzie = w warunkach jest traktowane jako ==, a tak być nie powinno.

Opublikowano

Ok, to co napisał Tymon działa, ale jak zamiast <= dam == to nie działa, a z tego co zrozumiałem z wypowiedzi Ranmusa powinno.

 

EDIT: O shit!! Co ja chciałem zrobić! Ale ze mnie niekumate dziecko, na szczęście już zajarzyłem, przecież to co chciałem zrobić niema prawa działać. DZIĘKI za pomoc :)

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...