Zalozmy ze mamy tablice okreslona jako:
char imie[1];
i nastepnie wprowadzamy do niej
stcpy(imie,"Ten komputer ma na imie XYZ");
Jako dziecie wychowane na pascalu uznalam ze powinno sie walnac, kaze mu wyswietlic napis
printf("\nImie: %s",imie);
Uruchamiam. Wyswietla grzecznie caly dlugi lancuch... No dobra, powiekszyl sobie tablice, zdolna bestia. Jedzmy dalej.
int wielkosc;
wielkosc=strlen(imie);
I teraz zaczyna sie cos czego nie rozumiem. Jesli strlen jest wrzucone po wypisaniu na ekran stringa, to jest ok. wyswietla sie string po czym jego wielkosc (tez dziwnie zliczana, bo brakuje informacji o obecnosci znaku konca stringa). Jesli zas strlen wrzucic miedzy przypisanie stringa a wyswietlenie go, to string zostaje obciety do bodajze 7 znakow, po ktorych nastepuje chyba losowy znak ascii, ale dlugosc stringa jest nadal wyswietlana taka, jak wprowadzonego, nie jak wypisanego....
Czy ktos moze mi, niewiescie biednej i nieoswieconej, wyjasnic, co robi moj niszczesny Turbo C z tym kodem? Bo ja nie panimaju czy jak to tam towarisze ze wschodu by rzekli ;-)
</ort>