C - 将float中的读数与零进行比较

时间:2013-11-20 03:00:38

标签: c

在我的程序中,我有几个需要与0比较的浮点变量。这些变量是通过printf读入的。

float a;
scanf("%f", &a);
if (a=0)
{
printf("a is zero");
return 0;
}

但是当我通过scanf给出0时,它不起作用。不显示“a为零”。它不适用于(a = 0.0)并且不适用于(a = 0.0f)或(a = 0。)。我设法做到的唯一方法是(0 <&amp;&amp; a&lt; 0.0000000000001)

但我觉得这不是一个很好的方法。

我做错了什么?为什么它不能识别我输入的0xf为0?

2 个答案:

答案 0 :(得分:1)

只需将“=”更改为“==”即可。您可以将“if”语句写入以下样式:

if (CONSTANT == variable)

答案 1 :(得分:0)

如果条件,则将赋值运算符(=)更改为比较运算符(==)。

除此之外,在比较值

时进行类型转换
if (a==(float)0)