El resultado de la división es siempre cero [duplicado]
Tengo este código C.
#include <stdio.h>
int main(void)
{
int n, d, i;
double t=0, k;
scanf("%d %d", &n, &d);
t = (1/100) * d;
k = n / 3;
printf("%.2lf\t%.2lf\n", t, k);
return 0;
}
Quiero saber por qué mi variable 't' es siempre cero (en la función printf).
Aceptado
porque en esta expresión
t = (1/100) * d;
1 y 100 son valores enteros, la división de enteros se trunca, por lo que esto es lo mismo que esto
t = (0) * d;
necesitas hacer que sea un flotador constante como este
t = (1.0/100.0) * d;
es posible que también quieras hacer lo mismo con esto
k = n / 3.0;