关于浮点运算误差问题,求教。
程序代码:#include <stdio.h>
int main(void)
{
float a,b,c,d;
scanf("%lf %lf", &a, &b);
c = 0.999999999;
d = 1.0;
if( c==d ){
printf(" c d 竟然真的相等!\n");
}
if( a==b ){
printf(" a b 竟然真的相等!\n");
} else {
printf(" a b \(^o^)/不相等!\n");
}
return 0;
}我的a b 值和c d是相等的,可最后输出的是c d相等,a b不相等,为什么会有这种差别呢?









