我正在尝试编写一个将华氏温度转换为摄氏温度的程序。
无论您输入什么内容,c
始终会输出0
。
#include <stdio.h>
int main()
{
int f;
float c;
printf("Enter a temperature in fahrenheit: ");
scanf("%d", &f);
c = (f-32)*(5/9);
printf("%d fahrenheit is %.2f celsius.\n", f, c);
}
答案 0 :(得分:2)
在整数数学中,5/9为0,余数为5.您需要5.0 / 9.0。
在C中,你对结果所做的事情对它的计算方式没有影响。因此,即使c
是一个浮点数并且您将数学结果存储在float
中,数学仍然是整数数学,因为5
,9
,{{1 }和f
都是整数。