我正在使用visual C++ 6.0,在程序中我比较float和double变量例如这个程序
#include<stdio.h>
int main()
{
float a = 0.7f;
double b = 0.7;
printf("%d %d %d",a<b,a>b,a==b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到1 0 0作为输出
并为
#include<stdio.h>
int main()
{
float a = 1.7f;
double b = 1.7;
printf("%d %d %d",a<b,a>b,a==b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我输出0 0 0.
请告诉我为什么我得到这些奇怪的输出,有没有办法在同一个处理器上预测这些输出.如何比较C中的两个变量?