Vidyalelo
C Programming · Q3

C Miscellaneous

Programming · C Programming · question 3

Q3

Determine Output: void main() float me = 1.1; double you = 1.1; if(me==you) printf("I hate Examveda"); else printf("I love Examveda");

A.
I hate Examveda
B.
I love Examveda
Answer
C.
Error
D.
None of These

Answer: Option B

Solution

Answer: Option B
Solution:

For floating point numbers (float, double, long double) the values cannot be predicted exactly. Depending on the number of bytes, the precession with 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 (== , >, <, <=, >=,!= ) .