Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Ronkof en 19 Abril 2013, 22:43 pm



Título: Conteo de caracteres
Publicado por: Ronkof en 19 Abril 2013, 22:43 pm
Hola amigos una duda estoy aprendiendo c del libro c de brian w. kernighan segunda edicion. Y llege a la parte de conteo de caracteres pero no entiendo bien que se supone que hace el siguiente programa, porque lo tengo iwal y no imprime nada

#include<stdio.h>
int main()
{
   long nc;
   nc=0;
   
   while (getchar()!=EOF)
   ++nc;
   printf("%ld\n",nc);
}


Título: Re: Conteo de caracteres
Publicado por: Puntoinfinito en 20 Abril 2013, 00:18 am
Código
  1. #include<stdio.h>
  2. int main()
  3. {
  4.   long nc;
  5.   nc=0;
  6.  
  7.   while (getchar()!=EOF)
  8.   ++nc;
  9.   printf("%ld\n",nc);
  10. }

Lo que hace es mirar que el getchar() no este al final, en caso de que se cumpla la condición, se le suma +1 a la variable nc y se imprime en pantalla, y así sucesivamente.


Título: Re: Conteo de caracteres
Publicado por: leosansan en 20 Abril 2013, 00:36 am
Tienes que introducir una cadena de caracteres, después darle al enter y como la codición es EOF darle a las teclas CONTRL+Z y se imprimirá el número de caracteres que habías introducido:

Código
  1. #include<stdio.h>
  2. int main()
  3. {
  4.   long nc;
  5.   nc=0;
  6.  
  7.   while (getchar()!=EOF)
  8.   ++nc;
  9.   printf("%ld\n",nc-1);
  10. }
  11.  


El -1 es para no contar el ENTER como un caracter.

Saluditos!. ....
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)


Título: Re: Conteo de caracteres
Publicado por: Ronkof en 22 Abril 2013, 22:04 pm
Gracias , me sirvio mucho tu ayuda. La verdad en si el problema de no poder imprimir los caracteres era que no ponia la condicion del fin de la iteracion de while por que no sabia como poner el famoso "EOF". De nuevo gracias. ;-)