Ver Mensaje Individual
  #4  
Antiguo 25-09-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
...Bueno, eso es un error frecuente que se puede cometer en C.

3860/3600; es una división de enteros, y por lo tanto el resultado en un entero
float aux = 3860/3600; convierte el valor entero de la división a float, por lo tanto no tiene decimales...

Y, entonces?...

Pues debemos convertir antes a float uno o los dos operandos, desde ese momento el compilador asume que el resultado debe ser float:

Código:
float aux = (float)3860/3600;
//o 
float aux = 3860.0/3600;
//o
float aux = (float)3860/(float)3600;
Saludos.
Responder Con Cita