浮点数天生就有误差......
要理解这个问题就从IEEE754的编码格式入手,浮点类型是一个离散的数据集合,并不是连续,0.4不在这个集合中,编译器会解析一个最接近0.4的编码;更详细的内容参照C语言浮点数据类型详解及常见的坑