JJbag 2021-01-01 10:17 采纳率: 0%
浏览 186

C语言中,关于float和double使用带来不同结果的原因。

问题如图:

 

然后我使用了一下两段相同的代码,只是对变量的数据类型定义不同:

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	float celsius,fahr;
	printf("celsius = ");
	scanf("%f",&celsius);
	fahr=(9/5.0)*celsius+32;
	printf("fahr = %f",fahr);

	return 0;
}
//结果:98.959999

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	double celsius,fahr;
	printf("celsius = ");
	scanf("%lf",&celsius);
	fahr=(9/5.0)*celsius+32;
	printf("fahr = %lf",fahr);

	return 0;
}
//结果:98.960000

实在想不通到底是哪个运算过程改变了结果,也想问一下是这里出问题的点是哪里?

拜托了,初学者小白学生党提问。

  • 写回答

2条回答 默认 最新

  • Daniel Mui 2021-08-03 11:05
    关注

    膜拜大佬,大佬的文章令我陶醉!

    评论

报告相同问题?

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题