Witam, miałem za zadanie do napisania program jak w temacie, czyli zliczający znaki odstępu, tabulacji i nowego wiersza ale wynik programu jaki napisałem jest dość dziwny. Poniżej kod programu:
#include <stdio.h>
/*
* program zliczający znaki odstępu,
* tabulacji i nowego wiersza
*/
int main()
{
int c, ns, nt, nl;
// zliczanie znaków odstępu
ns = 0;
while((c = getchar()) != EOF){
if(c == ' '){
++ns;
}
printf("%d\n", ns);
}
// zliczanie znaków tabulacji
nt = 0;
while((c = getchar()) != EOF){
if(c == '\t'){
++nt;
}
printf("%d\n", nt);
}
// zliczanie znaków nowego wiersza
nl = 0;
while((c = getchar()) != EOF){
if(c == '\n'){
nl++;
}
printf("%d\n", nl);
}
return 0;
}
Teraz po pierwsze nie wiem czy program jest poprawny, mimo że nie ma błędów. Po drugie wynik po wpisaniu: bla bla bla bla wygląda tak:
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
3
Jak powinien wyglądać ów program poprawnie ?