This question already has answers here:
Is floating point math broken?
(31个答案)
2年前关闭。
当使用相等运算符使值相等时,输出将显示失败而不是成功。这是编译器版本的问题吗?所附程序的屏幕截图
取自here
(31个答案)
2年前关闭。
当使用相等运算符使值相等时,输出将显示失败而不是成功。这是编译器版本的问题吗?所附程序的屏幕截图
void main()
{
float k = 0.1;
if (k == 0.1)
printf("Success");
else
printf("Failure");
}
最佳答案
看这个:
预测以下C程序的输出。
#include<stdio.h>
int main()
{
float x = 0.1;
if (x == 0.1)
printf("IF");
else if (x == 0.1f)
printf("ELSE IF");
else
printf("ELSE");
}
The output of above program is “ELSE IF” which means the expression “x == 0.1” returns false and expression “x == 0.1f” returns true.
取自here
关于c - C错误中的浮点数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42492602/
10-11 16:31