|
|
ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.
Въпрос |
От: nz |
Дата: 06/16/2004 |
опа , абе въпроса може да е сота тъпичък ама .. :)
та имам следната програмка , може би много хора са я виждали
вече :)
#include <stdio.h>
int main(void){
long nc = 0;
int c;
while( getchar() != EOF ){
++nc;
}
printf("%ld\n",nc);
return(0);
}
та тя си брои буквите, които и подадеш , но незнам защо
винаги ми ги изкарва с 1 в повече. Това е пример от C ANSI
. ако някой може да обясни защо се получава така ще се
радвам много :))
благодаря
|
Отговор #1 |
От: acidcho (atan (a) cacad< dot >com) |
Дата: 06/17/2004 |
Ne sym mnogo wesht no mislq che ti e zaradi mqstoto na
broqcha za narastwane. Dai vmesto ++nc -> nc++
|
Отговор #2 |
От: foo |
Дата: 06/17/2004 |
Kyde izpolzvash 'int c' ?
...moje bi e
while( c = getchar() != EOF){...}
...a kolkoto do ednata bukva v poveche, getchar e linejno
buveriran (mislq), tova oznachava che trqbva da natisnesh
enter za da obraboti informaciqta koqto i podavash ...e ta
tozi enter si ASCII znak syshto taka, nego slagash li go v
smetkite?
|
Отговор #3 |
От: mu_to |
Дата: 06/17/2004 |
Az bih q napisal taka:
#include <stdio.h>
int main()
{
int i;
for (i= 0; getchar() != EOF; i++)
{
printf("i == %d\n", i);
}
return 0;
}
Togawa shte widish za kakwo tochno ti gowori foo.
|
Отговор #4 |
От: a4ko |
Дата: 06/21/2004 |
sburkal si operator
++nc incrementira predi da se izpalni cikula, a nc++ sled
izpalnenieto na cikula
|
<< Iskam da si razkaram Windowsa no! (3
) | Garnome (1
) >>
|
|
|
|
|