dzimen
#programowanie #cpp

Cześć, mam mały problem mam napisanę grę wisielec w c++. Gdy podaje jakiś wyraz i próbuję teraz zgadywać litery to wywala cały program, ale jak za wyraz poda się słowo "hehe" to działa. Poniżej wysyłam kod:
http://pastebin.com/q9pUXjjN
Pomoże ktoś??
  • Najlepsze
  • Wszystkie komentarze
A.....t
A.....t
@dzimen a dokładnie w którym momencie się wywala?
lionbest
@simia: Też tak myślę, ale trzeba uważać bo nigdy nie wiadomo co jeszcze taki kompilator może wyprodukować.
lionbest
@dzimen: Dziwię się że to w ogóle działa.
zgadula jest pusta a ty przypisujesz tam znaki, czyli nie wiadomo gdzie. To jest tak zwany undefined behavior, czyli może stać się cokolwiek, łącznie z poprawnie wyglądającym działaniem programu.


Żeby się przekonać czy nie wychodzisz poza zakres to zamiast dostępu tablicowego [] dobrze jest pisać zgadula.at(dlugosc). Program natychmiast zakończy działanie gdy wyjdziesz poza zakres tablicy.

simia
simia
simia
0
@lionbest: Mysle, ze tworcy kompilatorow moga miec dosyc ograniczony dostep do jego kotka :(