Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/06/2010, 23:06
Avatar de CdG
CdG
 
Fecha de Ingreso: marzo-2008
Mensajes: 114
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: problema ejercicio division

Cita:
Iniciado por AlanChavez Ver Mensaje
En C:
int/int = 0

es cierto se me olvido dar un detalle, para tener un resultado float, almenos uno de los dos debe ser float, no basta con tener float div;

No se de donde sacaste que int/int = int, eso no tiene ningun sentido.
Compila mi codigo y verás tu error.
Código C:
Ver original
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int resultado;
  5.     float resultado2;
  6.     int resultado3;
  7.     float resultado4;
  8.      
  9.     resultado = 3/5; //Resultado, Variable tipo int, division de dos enteros. Resultado = 0;
  10.     resultado2 = 3/5; //Resultado 2, Variable tipo float, division de dos enteros asignados a una variable float. Resultado2 = 0.000000;
  11.     //Esto debido a que en C, dividir dos enteros es siempre 0.
  12.     resultado3 = 3.0/5; //Resultado 3, variable tipo int, dividiendo un float y un int. Resultado3 = 0; El tipo de variable no puede almacenar un numero con coma flotante, porque se declaró previamente como entera.
  13.     resultado4 = 3.0/5; //Resultado 4, variable tipo float, dividiendo float y int. Resultado = 0.6000000
  14.     printf("%d\n%f\n%d\n%f",resultado,resultado2,resultado3,resultado4);
  15.     //Queda demostrado que en C, la division de dos enteros siempre es 0.
  16.     return 0;
  17. }
Hola Alan,
en C la división entera quita los decimales. Cambia tu ejemplo y comprobaras que es como te indica CalgaryCorpus
saludos
__________________
no quiero ser un árbol y caminar
Jacinto Piedra