переменная типа float не соответствует условиям (C)

m пытается заставить пользователя ввести число от 1.00000 до 0.00001, в то время как ребра не включены в переменную типа float. Я могу предположить, что пользователь ненабрав более 5 цифр после точки. вот что я написал:

printf("Enter required Leibniz gap.(Between 0.00001 to 1.00000)\n");
scanf("%f", &gap);
while ((gap < 0.00002) || (gap > 0.99999))
{
printf("Enter required Leibniz gap.(Between 0.00001 to 1.00000)\n");
scanf("%f", &gap);
}

теперь, когда яm набрав наименьшее возможное число: 0,00002, застряв в цикле while. когда я запускал отладчик, я увидел, что 0,00002 хранится с этим значением в переменной float: 1.99999995e-005. Кто-нибудь может мне уточнить, что я делаю неправильно? почему нетт 0,00002 соответствует условиям? что это "1.99999995e-005" вещь.

Ответы на вопрос(4)

Ваш ответ на вопрос