我有以下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;
}
答案 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
的实际结果。