c语言 - "0.7 > a"如何在"float a = 0.7"的地方返回 true?



考虑以下代码:

float a = 0.7;
if(0.7 > a)
printf("Hi");
else
printf("Hello");
// The output will be: Hi

为什么这里的if语句返回true?但是,如果我用0.7替换a,那么它会返回false吗?0.7如何大于a?而这在0.5或其他情况下不会发生。为什么会发生这种情况?

0.7本身不是浮点值,而是双精度值,由于它们是具有不同精度的不同数据类型,因此值不相同。在这种情况下,你必须明确地告诉0.7是浮动的;f";最后:

float a = 0.7;
if(0.7f > a)
printf("Hi");
else
printf("Hello");
return 0;

或者仅仅改变数据类型"0";a";变量加倍:

double a = 0.7;
if(0.7 > a)
printf("Hi");
else
printf("Hello");
return 0;

相关内容

  • 没有找到相关文章

最新更新