为什么此代码打印更大?

时间:2014-08-18 15:15:04

标签: c output

1)#include<stdio.h>
int main()
{
float x=0.5;

if(x>0.5)
printf("\ngreater");
else
printf("\nlesser ");
return 0;
}

输出 - &GT;较小的

2)#include<stdio.h>
int main()
{
float x=0.1;

if(x>0.1)
printf("\ngreater ");
else
printf("\nlesser ");

return 0;
}

输出 - &GT;更加 为什么在第一种情况下输出“较小”,而在第二种情况下输出是“较大”?有什么区别?

编辑:我知道0.1不相等,但为什么0.5显示为相等?

1 个答案:

答案 0 :(得分:3)

我几乎可以肯定这是因为你正在比较浮动和双重。

有一个答案可以解答为什么在这里得到更大的回答:0.1 float greater than double