Hello. I have a question about c language coding.
```#include int main(void)
{ double c, f;
printf("Enter a Fahrenheit value: ");
scanf_s("%lf", &f);
*c = 5.0 / 9.0 * (f - 32.0);*
printf("C" value is %lf degrees\n", c);
return 0; } ```
When I first wrote the code, I wrote c = 5/9 * (f-32); and the result was, Enter a Fahrenheit value: 100 Celsius is 0.000000 degrees.
That's what it says.
I wonder why I have to write down the decimal point to get the result.
c coding
The compiler of language C recognizes 5
as int type and 5.0
as double type.
Therefore, 5/9
is recognized as an int-type divided by int-type, and the division between int-type takes only the share, so the result of 5/9
becomes 0
. Eventually, 5/9*(f-32)
became 0*(f-32)
and the result became 0
.
© 2024 OneMinuteCode. All rights reserved.