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's the best way of making my program efficient?
List the difference between a 'copy constructor' and a 'assignment operator' in C?
write a program fibonacci series and palindrome program in c
What is meant by int main ()?
which of the following statement is wrong a) mes=123.56; b) con='T'*'A'; c) this='T'*20; d) 3+a=b;
Which is best book for data structures in c?
What is identifiers in c with examples?
What is getch c?
What is spaghetti programming?
Difference between linking and loading?
What does printf does?
Explain the binary height balanced tree?
How can you find the day of the week given the date?
what is a function method?give example?
I came across some code that puts a (void) cast before each call to printf. Why?