C
Re: C
EOF je konstanta indikujuca koniec suboru. Napriklad funkcia getchar vracia EOF ak nastal koniec suboru (na konzole to znamena, ze uz nie je co citat).
Neviem ci je priamo v standarde, ze ma hodnotu -1, alebo to zavisi od implementacie.
Neviem ci je priamo v standarde, ze ma hodnotu -1, alebo to zavisi od implementacie.
Re: C
Nemal som cas tak som sa na to pozrel az teraz takze este jedna otazka ako dam prikaz aby skontroloval dalsie pismenko ci je to medzera alebo pismeno (cislo) ? Mam nieco take: if (isspace(c)) ....... tam chcem dat nieco aby isiel na dalsie pismeno medzeru alebo cislo. A este nieco to atoi mi prehodi string na cislo ?
Re: C
getchar ti da dalsie pismenko. A ano atoi sa pokusi previest retazec na cislo. Pricom ignoruje medzeny na zaciatku. Ten priklad s EOF co som pisal vyssie som si vsimol, ze nie celkom funguje. Namiesto EOF daj asi radsej '\n'.
Re: C
Mam nieco take ale neviem kde je problem:
Kód: Vybrať všetko
int c;
int i=0;
int h [100];
while ((c = getchar()) != '\n')
{
if (!(isspace (c))) ;
{ c=h[i];
printf("%d",h[i]) ;
i++;
}
}
getch ();
return 0;
-
- Moderátor
- Príspevky: 15054
- Dátum registrácie: Ut 26. Feb, 2008, 14:00
- Bydlisko: Bratislava/Štúrovo
Re: C
Problem je v tom, ze sa nesnazis. Programovat sa nenaucis tak, ze ti niekto nadiktuje co mas napisat, ale tak ze skusas, skusas, skusas. Nejde ti to ? Pada ti to ? Spusti to cez debugger a krokuj po jednotlivych prikazoch, pozri co je v jednotlivych premennych a porovnavaj to s tym, co by si tam mal mat. Takto najdi chybu, oprav ju. A toto opakuj pokym nemas funkcny program. O tom je programovanie, nie o tom ze nadhodis kod na forum a niekto ti ho opravi.marko365 napísal:Mam nieco take ale neviem kde je problem:
Re: C
Takze do c priradis znak z konzoly a potom ak to nie je medzera, tak do c priradis h. Aky ma toto zmysel? Ziadny, kedze h je neinicializovane. Aj keby si to dal naopak (h = c), tak by to nerobilo to co chces, kedze tam nikde nemas konverziu znakov na cislo (napr. funkcia atoi).marko365 napísal:Mam nieco take ale neviem kde je problem: