VaioIsBorn - 7 months ago 91

C Question

I got this C code.

`#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;

}

I want to know why my variable 't' is always zero (in the printf function) ?

Answer

because in this expression

```
t = (1/100) * d;
```

1 and 100 are integer values, integer division truncates, so this It's the same as this

```
t = (0) * d;
```

you need make that a float constant like this

```
t = (1.0/100.0) * d;
```

you may also want to do the same with this

```
k = n / 3.0;
```