gandixiwang 发表于 2022-5-11 20:47:45

double和float问题

#include <stdio.h>

int main(void)
{
        float number,count;
        printf("请输入摄氏度:");
        scanf("%f",&count);
        number=(count-32)*5/9;
        printf("转换为华氏度是:%.2f",number);
       
        return 0;
}
这个输入45,输出是7.22是对的
为什么我把变量类型改成
double number,count;
再输入45,结果就会变成-17.78

Twilight6 发表于 2022-5-11 20:49:51


精度不同,double 双精度格式化要用 %lf ,参考代码:

#include <stdio.h>

int main(void)
{
    double number, count;
    printf("请输入摄氏度:");
    scanf_s("%lf", &count);
    number = (count - 32) * 5 / 9;
    printf("转换为华氏度是:%.2lf", number);

    return 0;
}

永恒的蓝色梦想 发表于 2022-5-11 20:49:55

#include <stdio.h>

int main(void)
{
      float number,count;
      printf("请输入摄氏度:");
      scanf("%lf",&count);
      number=(count-32)*5/9;
      printf("转换为华氏度是:%.2lf",number);
      
      return 0;
} 需要 %lf

永恒的蓝色梦想 发表于 2022-5-11 20:50:27

Twilight6 发表于 2022-5-11 20:49
精度不同,double 双精度格式化要用 %lf ,参考代码:

差4秒{:10_277:}

Twilight6 发表于 2022-5-11 20:51:13

永恒的蓝色梦想 发表于 2022-5-11 20:50
差4秒



哈哈哈,好久不见呀~{:10_287:}

永恒的蓝色梦想 发表于 2022-5-11 21:12:44

Twilight6 发表于 2022-5-11 20:51
哈哈哈,好久不见呀~

高中太忙了,难得放假{:10_245:}

Twilight6 发表于 2022-5-11 21:30:05

永恒的蓝色梦想 发表于 2022-5-11 21:12
高中太忙了,难得放假

{:10_303:}
页: [1]
查看完整版本: double和float问题