Wednesday 4 January 2012

Placement Question-2

What is the output of the following program ?
main()

{
float me = 1.1;
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

host gator coupon