Šta je novo?

pocetnicki problem

Swiper

Čuven
Učlanjen(a)
05.03.2002
Poruke
4,698
Poena
765
Uzeo sam da ucim C i u jednoj knjizi sam video sledeci primer
Kod:
#include <stdio.h>
main()
{
	double nc;
	for (nc=0; getchar()!=EOF; ++nc)
		;
	printf ("%.0f", nc);
}

Zar ne bi trebalo da stampa broj unetih karaktera? Gde je greska?
 
Tvoj code nema gresku. On stvarno broji unete karaktere pa chak i one koje ne vidish i nisi ih svestan. To je i mene bunilo kada sam pochinjao sa C-om. Kad god pritisnesh ENTER da bi pisao u drugom redu ti unesesh jedan specijalan znak za prelazak u novi red a to je '\n'. Nadam se da si me ukachio. Tako da ako hoccesh da izbegnesh taj problemchicc:

Kod:
#include <stdio.h>
void main () {
  int count = 0, ch;
  while((ch = getchar()) != EOF)
    if(ch != '\n')count++;

  printf("%d\n", count);
}

pozdrav
 
Ako se ne veram, tj. ako me sećanje služi, to je Ričijeva knjiga, ne?
I mala ispravka. Kad pritisneš ENTER, upisuju se 2 "nevidljiva" karaktera - CR i LF.
Samo što C broji samo jedan :D
Ko sumnja nek' otvori neki fajl u bilo kom HEX editoru pa nek' se uveri.
 
Poslednja izmena:
To pod Windowsom, a pod Unixom/Linuxom ide samo LF (a na Macu samo CR)...
 
Jeste. Ritchie je autor knjige..
 
Swiper je napisao(la):
Jeste. Ritchie je autor knjige..

Nadam se da si do sada video da program radi.
Takodje se nadam da znas da znak za kraj fajla mozes da uneses kombinacijom Ctrl+Z.
 
A sta je program tebi ispisivao sa:
Kod:
printf ("%.0f", nc);
?
 
Nisam znao za foru sa F6 :)
 
Vrh Dno