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 / sandy0103
I am NOT sure, if it is something to do with the compiler,
rather it is something to do with the precision. Float has
got single precision and double is double precision. This
precision difference will get different value when you see
raw value. In another sense, I tried debugging the program
in VS2005 debugger, and if we monitor the value using
watch, you can see for float it is taking the value
as "8.8000002" and for double, it is taking value as "
8.8000000000000007". And hence the precision plays a role
here.
Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
what is a NULL Pointer? Whether it is same as an uninitialized pointer?
What are the 4 types of unions?
Explain what is the most efficient way to store flag values?
What is #include in c?
Find MAXIMUM of three distinct integers using a single C statement
What is the general form of function in c?
Stimulate calculator using Switch-case-default statement for two numbers
What are two dimensional arrays alternatively called as?
Explain Basic concepts of C language?
What does s c mean in text?
Are the outer parentheses in return statements really optional?
What standard functions are available to manipulate strings?
Explain how do you override a defined macro?
Take an MxN matrice from user and then sum upper diagonal in a variable and lower diagonal in a separate variables. Print the result
Why do we need a structure?