Czesc.
Mam bardzo podstawowe pytanie logiczne odnosnie pętli while.
Otóż jest prosty program ktory się zatrzymuje kiedy wpiszemy literę np 'k'.

include
using namespace std;

char k;

int main()
{
while(k!= 'k')
{
cin>>k;
}
return 0;
}

moje pytanie jest takie. Dlaczego w petli while musi byc warunek "różne od" != k ?
Dlaczego nie moze byc rowne == k?
Proboje jakos to sobie wytlumaczyc lopatologicznie :P.
Moze ktos mi to jakos wytlumaczyc najprosciej jak sie da?
Bo kiedy proboje napisac while(litera=='k') to program od razu sie konczy. A przeciez nigdzie nie inicjowalem zmiennej litera = 'k' .....

  • created

    Jan '17
  • last reply

    Jan '17
  • 1

    reply

  • 955

    views

  • 2

    users

10 days later

Pętla while wykonuje się dopóki warunek jest prawdziwy, tj. inny od zera.
Jeśli chcesz, aby program zatrzymał się po naciśnięciu klawisza K to musi być inna od K.
W wypadku gdy będzie while(k=='K'), czyli wykonuj dopóki k ma wartość K, to ani program nie zakończy się po wciśnięciu litery K, tylko innej od K, a także nie wykona się pętla ani razu, ponieważ k nie jest zainicjalizowane(czyli k=='K' będzie wynosić false).