C语言浮点型变量不能直接进行0值比较 float类型和double类型都不能保证可以精确的存储一个小数 。如何判断一个浮点型变量是否为零? #include<stdio.h> #define E 0.00000001 int main(void) { float a = 0.0; if( (0-E <= a) && (0+E >=a) ) { printf("YES!\n"); } else { printf("NO!\n"); } return 0; }