我正在尝试编写一个程序将华氏度转换为摄氏度。
无论您输入什么,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);
}
最佳答案
在整数数学中,5/9 是 0,余数是 5。您需要 5.0/9.0。
在 C 语言中,您对结果所做的操作不会影响其计算方式。因此,即使 c
是一个 float 并且您将数学结果存储在 float
中,数学仍然是整数数学,因为 5
, 9
、f
和 32
都是整数。
关于c - 为什么c变量总是输出0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43434851/