gpt4 book ai didi

c - 0.7 不小于 0.7 但打印错误结果

转载 作者:行者123 更新时间:2023-11-30 17:29:53 26 4
gpt4 key购买 nike

此处“a”应打印为 0.7 < 0.7 为 false,但会打印“c”。

#include<stdio.h>
void main()
{
float a=0.7;
if(a<0.7)
printf("c");
else
printf("a");
}

最佳答案

您似乎误解了 float 。请参阅this question .

你可以做的一件事是想“好吧,它永远不会完全 0.7,所以也许我无法确定,但我可以接近。 ..

然后,您选择一个粒度,例如百万分之一。您可以尝试比较 ie6 * a整数舍入结果为 1e6 * 0.7整数四舍五入结果看到的不是“是 a < 0.7 ?”,而是“是 a 合理、足够接近、小于 0.7 ?”

或者,仅与相同类型进行比较。正如评论中所说,也许 0.7不是float字面上的但是一个 double文字。确保它是 float确实是字面意思,并且 'a'已打印。

void main()
{
float a=0.7;
if(a<0.7f)
printf("c");
else
printf("a");
}

关于c - 0.7 不小于 0.7 但打印错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25458046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com