Junez 发表于 2019-10-25 21:14:40

新人求助

#include <stdio.h>

int main()
{
        float hua, she;
        printf("请输入华氏度: ");
        scanf("%d", &hua);
       
        she = (hua-32)*5/9;
        printf("华氏度%.2f\n", hua);
        printf("对应摄氏度%.2f\n", she);
       
        return 0;
}

为什么printf("华氏度%.2f\n", hua);这一段一直输出0.00

bin554385863 发表于 2019-10-25 21:20:56

本帖最后由 bin554385863 于 2019-10-25 21:22 编辑

float hua, she;
printf("请输入华氏度: ");
scanf("%d", &hua);%d表示的是整型数字,你用它来读取浮点型,不出问题就怪了

lovepipi 发表于 2019-10-25 22:49:30

scanf("%d", &hua);错了
虽然是%d的问题,但是你可以看一下小甲鱼的这篇文章
https://fishc.com.cn/forum.php?mod=viewthread&tid=67214&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571
你如果是以%d输入,那么如果d不超过3位数,在这篇文章里面的
V = (-1)^s * M * (1+f)
M阶段的值是0,所以就是0.00输出了

吴皮皮 发表于 2019-11-21 12:02:03

%d错了,注意精度问题
页: [1]
查看完整版本: 新人求助