domingo, 20 de marzo de 2011

Programa 5 del libro Lenguaje de Programación de Kernigahan & Ritchie

  /* Descripcion: Programa que copia la entrada en la salida, un caracter a la vez.*/

Pseudocodigo:
inicio
Lee un carácter.

while(caracter no es indicador de fin de archivos)
         manda a la salida el caracter recien leido 
         leer un caracter
fin

Código en C:

#include<stdio.h>
/* Copia la entrada a la salida; 1ª version*/
main( )
{
     int c;
     c = getchar( );
     while(c!=EOF){
              putchar(c);
              c=getchar( );
}

/*El operador de relación != significa "no igual a"
EOF= "end of file(fin de archivo)". No se puede utilizar char puesto que c debe ser suficientemente grande como para mantener a EOF además de cualquier otro carácter. Por lo tanto, se emplea int.  */

#include<stdio.h>
/*copia la entrada a la salida;2ª version*/
main( )
{
    int c;
   while((c=getchar( )) !=EOF)
             putchar(c);
}


/*El while obtiene un carácter, lo asigna a c, y entonces prueba si el carácter fue la señal de fin de archivo. De no serlo, el cuerpo del while se ejecuta, escribiendo el caracter; luego se repite el while. Luego, cuando alcanza el final de la entrada, el while termina y tambien lo hace main.


La precedencia de != es más alta que la de =, lo que significa que en ausencia de parentesos la prueba de relacion != se realizará antes de la asignacion =*/

No hay comentarios:

Publicar un comentario