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;
}
}

Answers were Sorted based on User's Feedback



what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / vikram

No output.Since a float variable is compared with double
constant,condition will not satisfy.
if you don't believe,try your hand on it.

Is This Answer Correct ?    31 Yes 3 No

what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / battini.laxman

No output.Loop will not execute atleast once. because
compiler will treat real constant as double. So real
constants will not store exactly equal to that constant
value but appproximately equal to that constan in binary
format. So float value and doule value storing
approximately equal but not exactly.small difference will
be there.so condition will fail at first time.So loop will
not execute atleast once.

Is This Answer Correct ?    17 Yes 0 No

what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / shibumon alampatta

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 ?    11 Yes 0 No

what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / 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

what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / vignesh1988i

for the first time the loop will be true and it will print as 1.100000 , after reading the next line x will be 1.0, so again when it comes into while loop 1.000000 not equal to 1.100000 so it will come outside the loop

Is This Answer Correct ?    4 Yes 20 No

what is the output of the following program? #include<stdio.h> void main() { float x=1.1;..

Answer / gangadhar

first time loop will satisfy and second time loop will
not satisfy bcoz x become zero....

Is This Answer Correct ?    0 Yes 17 No

Post New Answer

More C Interview Questions

Given an array of 1s and 0s arrange the 1s together and 0s together in a single scan of the array. Optimize the boundary conditions?

0 Answers   Infosys,


how to copy a string without using c function

5 Answers  


Write a pro-gramme to determine whether the number is even or odd?

1 Answers  


in linking some of os executables are linking name some of them

0 Answers   IBM,


Write a program to print fibonacci series without using recursion?

0 Answers  


How reliable are floating-point comparisons?

0 Answers  


the maximum length of a character constant can be a) 1 character b) 8 characters c) 256 chaacters d) 125 characters

0 Answers  


What is character constants?

0 Answers  


How can I make a program in c to print 'Hello' without using semicolon in the code?

9 Answers   C DAC, Practical Viva Questions,


void main() {int a[5],i,b=16; for(i=0;i<5;i++) a[i]=2*i; f(a,5,b); for(i=0;i<5;i++) printf("\n %d",a[i]); printf("\n %d",b); } f(int *x,int n,int y) { int i; for(i=0;i<n;i++) *(x+i)+=2; y=y+2; }wat r the errors in the prg.and improvise the prg to get o/p.?

2 Answers   TCS,


Hi Every one......... Please Any body give me the answer for my question. Is it possible to print the word "PRINT F", without using printf() statement in C-Language.

4 Answers  


What are the uses of pre-processor directives?

2 Answers  


Categories