Home Forums C Programming help plz…………..

Viewing 1 reply thread
  • Author
    Posts
    • #2242
      DeenaDeBernales
      Participant

      #include
      void main()
      {
      long double a =0;
      if(a>float(0))
      printf(“hi”);
      else
      printf(“hello”);
      )

      why it outputs hello ………….plz explain ………………

    • #3640
      LenoraRamsey
      Participant

      Actually, In C float and double has only two differences. one is size. and another one is storage in memory.
      float has only single precision. But double has double precision.

      So, In your code you are trying to differentiate this. But it gives output as hello because it is equal.
      double 0 is equal to float 0.

      If you want differentiate float and double try this code.


      #include
      main()
      {
      long double a =0.0;
      if(a>=(float)0.0)
      printf("hi");
      else
      printf("hello");
      }

      It will prints hi.


      #include
      main()
      {
      long double a =0.1;
      if(a>=(float)0.1)
      printf("hi");
      else
      printf("hello");
      }

      It will prints hello.

      I think now you can get the difference.

Viewing 1 reply thread
  • The forum ‘C Programming’ is closed to new topics and replies.