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 / vignesh1988i
here it will print : either NOT EQUAL or EQUAL
according to me and my compailer it's NOT EQUAL only.......
depends upon the compailer actually......
here variable 'a' is assigned wit float and 'b' is assigned
with double....
here comes the problem ie. of allocation of no. of bytes
according to my compailer float allocates 4 bytes and double
allocates 8 bytes.... so when it compares each location bit
by bit the float will lag by two bytes of space than double
has .. so since the comparsion takes a decision tat it's not
equal since it dosent check the other two locations of
double wit float which is lagging wit that two bytes of
memory space....... so it prints NOT EQUAL
thank you
| Is This Answer Correct ? | 19 Yes | 2 No |
Post New Answer View All Answers
What are the parts of c program?
Explain what’s a signal? Explain what do I use signals for?
why use "return" statement a) on executing the return statement it immediately transfers the control back to the calling program b) it returns the value present in the parentheses return, to the calling program c) a & b d) none of the above
What is the modulus operator?
What are the 4 types of unions?
console I/O functions means a) the I/O operations done on disk b) the I/O operations done in all parts c) the input given through keyboard is displayed VDU screen d) none of the above
What is typedef example?
Do pointers need to be initialized?
How we can insert comments in a c program?
What is dynamic memory allocation?
write a c program to print the next of a particular no without using the arithmetic operator or looping statements?
simple program of graphics and their output display
What is the difference between ++a and a++?
What is integer constants?
Is c still used?