Błąd getchar

0

Cześć wszystkim
mam problem z programem obliczającym ilość znaków spacji, tabów i wierszów?
Problem jest w while((c=getchar())=!EOF))

#include<stdio.h>

main()
{
	float nt, nl, c, ns;
	nt=0;
	nl=0;
	ns=0;
	while((c=getchar())=!EOF))
	if(c=='\n')
	++nl;
	printf("%l\n", nl);
	if(c=='\t')
	++nt;
	printf("%l\n", nt);
	if(c==' ')

} 
1

Co to znaczy: =!EOF?

Jak wygląda operator nierówności?

EDIT: Jak to możliwe, że wszystkie zmienne liczbowe zadeklarowałeś jako float?

nt, nl, ns, c powinny być intami.

0

Dzięki kmph teraz program mi się kompiluje ale nic nie działa wstawiam spacje taby wiersze i nic

0

A jaka jest składnia if, while itp? Kiedy należy, a kiedy nie trzeba używać nawiasów wąsatych?

0

W książce jest bez nawiasów

1

zobacz jak masz napieprzone tam wszystko. wystarczylo to sformatowac odpowiednio

main()
{
    float nt, nl, c, ns;
    nt=0;
    nl=0;
    ns=0;
    while((c=getchar())=!EOF))
        if(c=='\n')
            ++nl;
    printf("%l\n", nl);
    if(c=='\t')
        ++nt;
    printf("%l\n", nt);
    if(c==' ')
 
}  

a sadze ze powinno byc

main()
{
    float nt, nl, c, ns;
    nt=0;
    nl=0;
    ns=0;
    while((c=getchar())=!EOF))
    {
        if(c=='\n')
            ++nl;
        printf("%l\n", nl);
        if(c=='\t')
            ++nt;
        printf("%l\n", nt);
        if(c==' ')
    }
}  

widzisz roznice?
nie dasz {} to wykonuje sie tylko JEDNA instrukcja

0

Niestety nadal błąd po dodadniu klamrowych nadal błąd, jak nie było klamrowych to nie było błędu ale nie wyświetlał

0

To wstaw cały Twój kod wraz z błędem.

Nawiasy klamrowe musisz ogarniać, to jest podstawa. Jeśli nie ma tego w książce, to doczytaj do rozdziału, gdzie są omawiane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1