- This topic has 1 reply, 2 voices, and was last updated 14 years, 9 months ago by .
Viewing 1 reply thread
Viewing 1 reply thread
- The forum ‘C Programming’ is closed to new topics and replies.
Home › Forums › C Programming › help plz…………..
#include
void main()
{
long double a =0;
if(a>float(0))
printf(“hi”);
else
printf(“hello”);
)
why it outputs hello ………….plz explain ………………
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.
1 2 3 4 5 6 7 8 9 10 11 | <br /> #include<stdio.h><br /> main()<br /> {<br /> long double a =0.0;<br /> if(a>=(float)0.0)<br /> printf("hi");<br /> else<br /> printf("hello");<br /> }<br /> |
It will prints hi.
1 2 3 4 5 6 7 8 9 10 11 | <br /> #include<stdio.h><br /> main()<br /> {<br /> long double a =0.1;<br /> if(a>=(float)0.1)<br /> printf("hi");<br /> else<br /> printf("hello");<br /> }<br /> |
It will prints hello.
I think now you can get the difference.