what is the output of the following program?
#include<stdio.h>
void main()
{
float x=1.1;
while(x==1.1)
{
printf("\n%f",x);
x=x-0.1;
}
}
Answer Posted / shibumon alampatta
No output; since (x == 1.1) will return false.
Explanantion:
First of all we shall look into the binary representation of
decimal number 1.1. It is 1.00011001100110011..... reccuring
infinite fractional part. And in the expression (x == 1.1),
x is a float and 1.1 is double constant. So their precisions
are different and float x = 1.1 and the double constant 1.1
will not be equal. So if we make double x = 1.1, instaed of
float it will work. Also if it is float x = 1.5 then the
expression (x == 1.5) will return true; because binary form
of 1.5 is 1.1; which is finite and both flaot and double
will have same value.
| Is This Answer Correct ? | 6 Yes | 0 No |
Post New Answer View All Answers
what is the diffrenet bettwen HTTP and internet protocol
how do you write a function that takes a variable number of arguments? What is the prototype of printf () function?
In C programming, what command or code can be used to determine if a number of odd or even?
What is the difference between malloc() and calloc() function in c language?
What is a volatile keyword in c?
What is the use of putchar function?
What is the difference between near, far and huge pointers?
p*=(++q)++*--p when p=q=1 while(q<=6)
How pointer is different from array?
What is a keyword?
What is the 'named constructor idiom'?
What is static memory allocation?
Why are some ANSI/ISO Standard library routines showing up as undefined, even though I've got an ANSI compiler?
What is the role of && operator in a program code?
What is void main () in c?