109020 发表于 2019-11-5 16:29:08

第八节,动动手第一题,我给声明变量的时候用的double,为什么结果不正确呢

#include <stdio.h>

int main()
{
      double fah, cel;//此处正确类型为float

      printf("请输入华氏度:");
      scanf("%f", &fah);

      cel = (fah - 32) * 5 / 9;
      printf("转换为摄氏度是:%.2f\n", cel);

      return 0;
}


rt
换句话说double和float对结果都有什么影响呢

18084041536 发表于 2019-11-5 16:50:27

宝贝 double的话 scanf里面要用 lf 不能用f

秃子舰长 发表于 2019-11-5 18:49:21

double字节比float字节大,所能表示的数更广,具体的输出结果要看你最后printf里的输出格式,你的输出格式不一样,有可能你的结果就不一样。
页: [1]
查看完整版本: 第八节,动动手第一题,我给声明变量的时候用的double,为什么结果不正确呢