Examveda
Examveda

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

C. Error

D. None of These

Answer: Option B

Solution(By Examveda Team)

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 (== , >, <, <=, >=,!= ) .

Join The Discussion

Comments ( 1 )

  1. Benison Sebastian
    Benison Sebastian :
    12 months ago

    Is void main() even legal for C? Many compilers throw compilation error on encountering this.

Related Questions on C Miscellaneous