对于【深基】习题2-4的疑惑
  • 板块学术版
  • 楼主realec
  • 当前回复7
  • 已保存回复7
  • 发布时间2021/1/27 21:10
  • 上次更新2023/11/5 04:16:59
查看原帖
对于【深基】习题2-4的疑惑
400618
realec楼主2021/1/27 21:10
//ex2-4.cpp
#include <iostream>
#include <cstdio>
using namespace std;
int main ()
{
	float a = 0.1;
	printf ("%d", int ( 2- a*a*100));
	//	printf ("%.10f", int ( 2 - a*a*100));
	return 0;
}

对于这段代码,看起来显然会输出2-1也就是1,但是很神奇的是输出的是0!
然后我就把2-a * a * 100改成了a * a * 100,输出的确实是1
然后我把类型转换int去掉,发现输出的是1.000000 所以我推测是不是精度的问题?
但是我改成double输出还是不变,有没有大佬可以解释一下?QAQ

2021/1/27 21:10
加载中...