main()
{
float a=8.8;
double b=8.8;
if(a==b)
printf("Equal");
else
printf("not equal");
getch();
}
what is the output?
with reason
Answer Posted / pushkar pahare
This problem has different answers on different compilers.
I had used turboc3, where is always printf "not equal".
Because the size of float is 2 bytes and size of double is
4 bytes, So, when compiler checks this, it can only compare
two bytes rest are left un checked and thus it concludes
false condition. It is same on RHEL5 environment.
Where as on Visual Studio 6.0, It will yield "Equal",
because here both the float and double variable acquires
the same space in memory. Thus the compiler can compare all
four bytes of memory which in fact contains the same values
because the representation of value is same in float and in
double.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is the difference between functions getch() and getche()?
Differentiate between null and void pointers.
What is structure packing in c?
Tell me what are bitwise shift operators?
in iso what are the common technological language?
What is variable and explain rules to declare variable in c?
Is c language still used?
What is a function in c?
How can I read a binary data file properly?
Explain enumerated types.
what is reason of your company position's in india no. 1.
what is use of malloc and calloc?
How do I round numbers?
What is calloc in c?
What is openmp in c?