没有调用地址,但浮动返回0.000-

时间:2016-01-23 08:08:17

标签: c

我这里有这个代码:(在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;
}

1 个答案:

答案 0 :(得分:4)

您必须强制算术以浮点模式运行。

这可以通过将5更改为5.09更改为9.0来完成:

*pcelsius = (*pfahrenheit - 32) * (5.0 / 9);

虽然convFtoC不需要返回float类型;它可以是void

此外,您在调用convFtoC

时遇到拼写错误