fff1333 发表于 2021-6-10 00:04:18

float int求助问题 为何这改变int double的类型 算出答案会完全不同 不是都在范围

#include <stdio.h>
#include <math.h>

int main()
{
      double h;
      double s;

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

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

      return 0;
}


#include <stdio.h>
#include <math.h>

int main()
{
      int h;
      double s;

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

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

      return 0;
}






wp231957 发表于 2021-6-10 07:38:55

第一段代码,%f对应float    double肯定不行
第二段代码没细看,估计是4/8=0而不是你认为的 0.5

万千只cnm 发表于 2021-6-10 14:09:55

double --》 %lf
改成lf就行
页: [1]
查看完整版本: float int求助问题 为何这改变int double的类型 算出答案会完全不同 不是都在范围