В моей программе у меня есть несколько переменных с плавающей точкой, которые мне нужно сравнить с 0. Эти переменные читаются через printf.C - сравнить чтение с поплавком до нуля
float a;
scanf("%f", &a);
if (a=0)
{
printf("a is zero");
return 0;
}
Но это не сработает, когда я даю в 0 через scanf. «a is zero» не отображается. Он не работает с (a = 0.0) и не работает с (a = 0.0f) или (a = 0.). Единственный способ, которым я сумел сделать это с (0 < в & & в < +0,0000000000001)
, но я чувствую, что это не очень хороший способ сделать это.
Что я сделал не так? Почему он не распознает ввод 0 I с scanf как 0?
Пожалуйста, прочтите этот http://floating-point-gui.de/ – JIghtuse
Включите предупреждения. – Kevin
Не игнорируйте предупреждения компилятора, они сообщают вам, что не так с вашей программой. –