win10+dev-c++
#include
#include
int main()
{
float x3=1.1,y3=0.1,z3=1.2;
if((x3+y3)==z3){
printf("equals to Z3\n");//判别式成立。因为两边都是float型
}else{
printf("not equals to Z3\n");
}
return 0;
}
教程里vc6++里运算是不成立
我测试的是成立
到底为什么呢?
巧合吧,你多试试几个浮点数吧
不要怀疑,你运气实在是好的可以。
你要知道一个事情,你的 z3 = 1.2,在内存中的值都不一定是1.2,而有可能是1.199999
所以,float 或者double 它是近似值,不是确切数。
所以,你这个题,确认运气不错