#include<stdio.h>
void main()
{
float a = 2.3;
if(a == 2.3) {
pritnf("hello");
}
else {
printf("hi");
}
}
Он печатает «hi» на выходе, или мы можем сказать, что если условие получает ложное значение.Почему if (a == 2.3) оценивает значение false, когда float a = 2.3
#include<stdio.h>
void main()
{
float a = 2.5;
if(a == 2.5)
printf("Hello");
else
printf("Hi");
}
Он печатает привет.
@dbush Я не согласен с этим обманом. Предполагаемый обман - это то, что вычисление с плавающей точкой * является потенциально неточным, в то время как этот вопрос касается констант 'float' или' double'. Такая же проблема возникла бы, если 'a' был' short' или 'char', который не мог бы представлять целочисленную константу. – EOF
Так почему это происходит ??? – Hariom
Прочитайте http://floating-point-gui.de/ (и этот URL-адрес достаточно важен для запоминания) –