Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: fafafa01 en 30 Junio 2016, 10:07 am



Título: Pasar un double como argumento en una función definida como float
Publicado por: fafafa01 en 30 Junio 2016, 10:07 am
Buenas, resulta que yo definí el argumento una función como float, y cuando la uso en ves de pasarle un float le paso un double. adentro de la funcion imprimo en pantalla el resultado y me sale el numero con doble precisión, cuando yo esperaría que salga con la precisión de float¿alguien sabe a que se debe esto?


Título: Re: Pasar un double como argumento en una función definida como float
Publicado por: class_OpenGL en 30 Junio 2016, 11:02 am
Lo que pasa es que C convierte automáticamente las variables que pasas por parámetros si es una conversión válida. Te dejo las conversiones en C válidas (no necesitan ser convertidas explícitamente):

(http://www.tutorialspoint.com/cprogramming/images/usual_arithmetic_conversion.png)