我这里有这个代码:(在Mac上使用CLion)
C:\Python33\DLLs
对于所有输入,我的摄氏度输出变为0.00,我无法弄清楚原因。我不是在调用摄氏温度的地址,所以我很困惑为什么会发生这种情况。以下是示例输出:
#include <stdio.h>
float convFtoC(int *, float *);
int main()
{
int min, increment, fahrenheit;
float celsius;
increment = 5;
min = 0;
printf("Please enter a max temperature in Fahrenheit: \n");
scanf("%d", &fahrenheit);
convertFtoC(&fahrenheit, &celsius);
printf("%d degrees Fahrenheit converted is %.4f degrees Celsius \n", fahrenheit, celsius);
printf("%d is the lowest F. The temperatures increment by %d.", min, increment);
return 0;
}
float convFtoC(int *pfahrenheit, float *pcelsius)
{
*pcelsius = (*pfahrenheit - 32) * (5 / 9);
return 0;
}
答案 0 :(得分:4)
您必须强制算术以浮点模式运行。
这可以通过将5
更改为5.0
或9
更改为9.0
来完成:
*pcelsius = (*pfahrenheit - 32) * (5.0 / 9);
虽然convFtoC
不需要返回float
类型;它可以是void
。
此外,您在调用convFtoC