Cześć!
Jestem tu zupełnie nowy (tak na forum, jak w temacie programowania). Studiuję teraz książkę "Język ANSI C" autorstwa Kernighana i Richie. W pierwszym rozdziale (elementarz) jest kilka razy podany pewien kod, który nie chce mi się nigdy wykonać. Podam prosty przykład programu do liczenia znaków w tekście.
#include <stdio.h>
main()
{
int c, znaki;
znaki = 0;
while((c=getchar())!=EOF)
{
++znaki;
}
printf("W tekscie bylo %d znakow", znaki);
}
dodałem code
, lepiej późno niż wcale - msm
Ten motyw liczenia czegoś w tekście powtarza się wielokrotnie - na końcu, po zakończeniu pracy pętli while, podawany jest tekstowo wynik. Problem w tym, że gdy odpalam programik w konsoli, nie ma tego rezultatu. Jeśli zmienić kod tak, by podawał wartość zmiennej znaki na bieżąco (czyli po każdym znaku podawał ich aktualną ilość) dzieje się to co się stać powinno, natomiast jeśli instrukcja printf występuje Poza pętlą while, efektu brak. Jak mówiłem jestem świeżakiem, więc pewnie czegoś nie rozumiem, ale i w książce ten kod wygląda tak samo. Czy ktoś ma pomysł dlaczego tak się może dziać?
Z góry dzięki za pomoc!