以下代码的输出是0.0000000
:
#include <stdio.h>
int main() {
float x;
x = (float)3.3 == 3.3;
printf("%f", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
而此代码输出1.000000
:
int main() {
float x;
x = (float)3.5 == 3.5;
printf("%f", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
2个代码唯一的区别是比较中的值,但是结果不一样,这是为什么呢?