将华氏温度转换为摄氏温度时,不了解输出

时间:2014-09-01 07:15:31

标签: c input output

我有以下C程序,该程序需要华氏度的温度并转换为 Celsius 值。但是,每次我输入一个值时,它总是给我0.00作为输出。我不明白问题出在哪里。

#include <stdio.h>
int main()

{
    float cel_out, fht_in;

    printf("Enter a temperature in farenheit: ");
    scanf("%f", &fht_in);
    cel_out = (fht_in - 32) * (5/9);
    printf("Temperature in celcious: %.2f", cel_out);

    return 0;
}

1 个答案:

答案 0 :(得分:2)

在这个方面

cel_out = (fht_in - 32) * (5/9);

使用5/9时,它是整数数据类型,结果为0.所以

 cel_out = (fht_in - 32) * 0; 

仅结果0!

您需要使用 -

cel_out = (fht_in - 32) * (5.0f/9.0f); 

此处将其视为浮点值,并提供5/9的实际结果。