Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: niano en 6 Abril 2019, 10:36 am



Título: Entrada y salida con formato
Publicado por: niano en 6 Abril 2019, 10:36 am
Hola buenas.

Tengo un problema con un programa en el que pretendo utilizar el especificador de formato %g. Según tengo entendido la entrada puede hacerse por teclado introduciendo, por ejemplo, 2e-4. Lo que quiere decir 0.0002. Pues bien, introduzco el dato y luego al mostrarlo por pantalla me sale algo que no tiene nada que ver. El código es el siguiente:

main()
{
double x;
scanf("%g",&x);
printf("%g",x);
}

Como ya he dicho, al imprimir por pantalla el número que he introducido previamente por teclado me sale algo que no tiene nada que ver. Por ejemplo, meto 2e-4 y me imprime 1.#NAN . O sea, que algo no funciona bien. ¿Alguien sabe qué es lo que está pasando?

Agradezco de antemano cualquier ayuda. Un Saludo.


Título: Re: Entrada y salida con formato
Publicado por: K-YreX en 6 Abril 2019, 12:42 pm
Cambia el tipo de <x> de <double> a <float> y me comentas si te ha funcionado.
O al revés, si quieres usar <x> como <double>, cambia el formato de <%g> a <%lg>.


Título: Re: Entrada y salida con formato
Publicado por: niano en 6 Abril 2019, 13:16 pm
Hola

Muchas gracias por responder YreX-DwX. Ya lo he corregido y funciona perfectamente. He optado por la segunda opción ya que necesitaba la precisión de un double.

Saludos.