elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Capturar un Caracter en una variable tipo Int
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Capturar un Caracter en una variable tipo Int  (Leído 1,767 veces)
SDCC

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Capturar un Caracter en una variable tipo Int
« en: 3 Marzo 2018, 05:50 am »

Muy buenos dias, el proposito de este tema es sobre un duda que me surge al ver un fragmento de un programa que se encarga de imprimir caracter por caracter hasta que se llegue al final de un archivo.Este fragmento de programa lo he sacado del libro "El lenguaje de programación C".Libro de Brian Kernighan y Dennis Ritchie.

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int c;
  5.  
  6. while((c=getchar()!=EOF)
  7.  
  8. }
  9.  

En este programa entiendo cuales son las razones de que el caracter tenga que guardarse en una variable de tipo enteros por razones de que el valor EOF determina que el archivo ha terminado y tiene un valor que no puede ser almacenado por una variable de tipo char, mi duda surge a la hora de entender que es lo que realmente esta guardando la variable c, es decir , tengo un programa como el siguiente:

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int c;
  5.  
  6. printf("Ingresa un caracter\n");
  7. c=getchar();
  8. printf("%d\n",&c);
  9. putchar(c);
  10. }
  11.  

En este programa realmente me reafirma que la variable de tipo entero esta almacenando un valor unico para cada caracter , es decir , para el caracter 'a' me arroja que la variable de tipo entero tiene el numero "6487628" y que a la hora de imprimirla como caracter me devuelve el caracter 'a' ,sin embargo no logro entender que relacion tiene esta cifra o este numero con el caracter 'a' , he visto que no se trata del codigo ASCII del caracter . De antemano , gracias.



« Última modificación: 3 Marzo 2018, 05:53 am por SDCC » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Capturar un Caracter en una variable tipo Int
« Respuesta #1 en: 3 Marzo 2018, 05:53 am »

estás imprimiendo la dirección de memoria ram donde está almacenado el contenido de la variable c, printf no requiere & antes de la variable


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
SDCC

Desconectado Desconectado

Mensajes: 55


Ver Perfil
Re: Capturar un Caracter en una variable tipo Int
« Respuesta #2 en: 3 Marzo 2018, 05:57 am »

Cierto , gracias , me parece que no me di cuenta de mi error a la hora de escribir la funcion de  printf . Gracias, ya pude observar que realmente si retorna el valor de ASCII
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines