gpt4 book ai didi

c - 逻辑错误 - 将华氏度转换为摄氏度

转载 作者:行者123 更新时间:2023-11-30 20:11:40 25 4
gpt4 key购买 nike

#include <stdio.h>
#define F(x) 32 + (x*9)/5

int main(void)
{
int F,C;
printf ("Enter temperature in celsius=");
scanf ("%d",&C);
F(C);

printf (" %d fahrenheit = %d celsius\n", F, C);

return 0;
}

当我输入 10 摄氏度时,结果如下:

1798680630 fahrenheit = 10 celsius

我的公式是不是写错了?我似乎无法找出错误。只是一个初学者,正在阅读我的教程。谢谢!

最佳答案

您根本没有存储宏扩展的结果。因此,F 未初始化。

IMO,根本不需要宏。只需使用一个变量:

#include <stdio.h>
int main(void)
{
int C;
float F;
printf ("Enter temperature in celsius=");
scanf ("%d",&C);
F = 32 + (C*9)/5.0;
printf (" %f fahrenheit = %d celsius\n", F, C);

return 0;
}

请注意,我使用了文字 5.0,这样您就不会只执行整数除法。

关于c - 逻辑错误 - 将华氏度转换为摄氏度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39854478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com