Witajcie, postanowiłem założyć nowy temat, tym razem w odpowiednim dziale. Nie tytułuje konkretnie (nr zadania) tematu, bo problemów napotkam z pewnością jeszcze multum.
Chodzi o zadanie:
"Napisz program, który każde słowo wejściowe zapisze w osobnym wierszu"
mój program:
#include <stdio.h>
main()
{
int c;
while ((c=getchar())!=EOF)
{
if (c==' ' || c=='\t' || c=='\n')
{
printf("\n");
while(c==' ' || c=='\t' || c=='\n')
{
c=getchar();
}
}
else
putchar(c);
}
}
Problem polega na tym, że program ucina pierwsze literki wyrazów, np.:
Dwa słowa -> Dwa(/n)łowa
Dwa słowa ->wa(/n)łowa
Gdzie popełniłem błąd? Wydaje mi się, że program powinien działać poprawnie (schemat blokowy).
Ponadto program "działa" po wciśnięciu klawisza ENTER, zamiast po wciśnięciu EOF. Dlaczego tak się dzieje, podczas gdy w niektórych programach trzeba wcisnąć EOF?
Dzięki za pomoc!