What is the output of the following program ?
main()
Explanation:
For floating point numbers (float, double, long double) the values
cannot be predicted exactly.
Depending on the number of bytes, the precession
with of the value represented varies.
Float takes 4 bytes and long double takes
10 bytes. So float stores 0.9 with less precision than long double.
Rule of Thumb:
Never compare or at-least be cautious when using floating point
numbers with relational operators (== , >, <, <=, >=,!= ) .
main()
{
float
me = 1.1;
double you = 1.1;
if(me==you)
double you = 1.1;
if(me==you)
printf("I love U");
else
printf("I hate U");
}
Answer:
I hate U
Explanation:
For floating point numbers (float, double, long double) the values
cannot be predicted exactly.
Depending on the number of bytes, the precession
with of the value represented varies.
Float takes 4 bytes and long double takes
10 bytes. So float stores 0.9 with less precision than long double.
Rule of Thumb:
Never compare or at-least be cautious when using floating point
numbers with relational operators (== , >, <, <=, >=,!= ) .
No comments:
Post a Comment