float f=2.2;
if (f==2.2)
printf("abc");
else
printf("xyz");
Run Code Online (Sandbox Code Playgroud)
此代码打印xyz,而如果我们给2.5而不是2.2,则输出为abc.
我已经问过这个问题了,但这个特定子部分的答案对我来说并不清楚.请参阅以下代码:
float f=2.5;
if (f==2.5)
printf("abc");
else
printf("xyz"); //prints abc
Run Code Online (Sandbox Code Playgroud)
我知道如果我们2.2取而代之2.5,它将输出相反的值,因为float被视为double和浮点nos.他们真的不应该等同吗?我想知道为什么有一个例外,数字有他们的最后一个十进制数字5.