Wpis z mikrobloga

Siema, wytłumaczyłby mi ktoś na jakiej zasadzie pętla while w poniższym programie się kończy?? Oraz dlaczego na końcu zmienna "ile" za każdym razem ma wartość 0?? Chodzi mi o ostatnią instrukcję. Dlaczego np. jak wpisuje: ile = ile - 3; program wypisuje gwiazdki w nieskończoność?

Kod;

#include

int main()
{
int ile;

std::cout << "Ile gwiazdek ma miec kapitan ? : ";
std::cin >> ile;
std::cout << "\n No to narysujmy wszystkie " << ile << " : ";

//pętla while rysująca gwiazdki
while(ile)
{
std::cout << "*";
ile = ile - 1;
}
//na dowód, że miał prawo przetrwać pętlę
std::cout << "\n Teraz zmienna ile ma wartosc " << ile;

}

#c++ #c #programowanie
  • 12
  • Odpowiedz
@tomekszz: bo w kazdej iteracji (obrocie, wykonaniu) petli zmienna ile sie zmniejsza o -1 ?
Wynika z tego ze ile by w zmiennej ile nie bylo na poczatku to petla wykona sie tyle razy az dojdzied o 0 bo bedzie falsz
Nie wiem czego nie rozumiesz, ale pokaz skrypt z ktorego sie uczysz. Chyba dam Ci lepszy
  • Odpowiedz
aa, czyli jak przypisze do int-a np 5, to te gwiazdki będą mi się wypisywały po kolei do tego działania aż osiągnie fałsz, bo będzie tak jakby: 4,3,2,1,0 czyli wypisze się 5 gwiazdek na ekranie. Dobrze rozumiem?
  • Odpowiedz
@tomekszz: W ramach nauki zobacz jak działają debuggery. Nie krytykuje pytania po prostu jest to podstawowe narzędzie pracy ( ͡° ͜ʖ ͡°)
  • Odpowiedz