Jecht Opublikowano 9 Marca 2007 Opublikowano 9 Marca 2007 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
Tymon Opublikowano 9 Marca 2007 Opublikowano 9 Marca 2007 #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 Ranmus Opublikowano 9 Marca 2007 Filar Społeczności Opublikowano 9 Marca 2007 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.
Jecht Opublikowano 9 Marca 2007 Autor Opublikowano 9 Marca 2007 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 :)
Rekomendowane odpowiedzi
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ę