c语言浮点型变量现在可以对比了?

问题遇到的现象和发生背景

win10+dev-c++

问题相关代码,请勿粘贴截图
#include
#include
int main()
{
    float x3=1.1,y3=0.1,z3=1.2;
    if((x3+y3)==z3){
        printf("equals to Z3\n");//判别式成立。因为两边都是float型 
    }else{
        printf("not equals to Z3\n");
    }
  return 0;
}    
运行结果及报错内容

教程里vc6++里运算是不成立

img

我的解答思路和尝试过的方法

我测试的是成立

img

到底为什么呢?

巧合吧,你多试试几个浮点数吧

不要怀疑,你运气实在是好的可以。
你要知道一个事情,你的 z3 = 1.2,在内存中的值都不一定是1.2,而有可能是1.199999
所以,float 或者double 它是近似值,不是确切数。
所以,你这个题,确认运气不错


可以看下c语言参考手册中的 c语言-浮点常量