FIND THE OUTPUT IF THE INPUT IS 5 5.75
void main()
{
int i=1;
float f=2.25;
scanf("%d%f",&i,&f);
printf("%d %f",,i,f);
}
ANSWER IS 5 AND 2.25 WHY?
Answers were Sorted based on User's Feedback
Answer / hari.11
hey,
if we give input as 5 5.75
output would be: 5 5.750000
for further queries and discussions, visit..
http://forum.campusmaniac.com/
http://www.campusmaniac.com/
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / suman halder
There is a tiny mistake in the question..It should be..
FIND THE OUTPUT IF THE INPUT IS 5 5.75
void main()
{
int i=1;
float f=2.25;
scanf("%d %d",&i,&f);
printf("%d %f",,i,f);
}
ANSWER IS 5 AND 2.25 WHY?
The answer of this question actually lies within the question itself..
if we look at the scanf statement ,then the actual reason of the output will be revealed..
In scanf,we are trying to get the input into a floating point number through %d format specifier which is the format specifier for integers..here,lies the anomaly..
nothing actually get stored within f through scanf ,so the previous value of f is retained..and that gets printed..
thats it..
*** if we try the reverse of it.i.e using %f,we wanna get the value into an integer..the compiler may report some error like "floating point format not linked"...we can abstain the error by intoducing a linkfloat function but still there will be some anomaly in the value that get stored in the variable ..so,to get the expected output we need to specify the correct format specifier....dnt trust printf or scanf to perform the proper typecasting for u..
do it explicitly..
linkfloat()
{
float a,*b;
b=&a;
a=*b;
}
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / reshma pawar
there is error in
printf("%d %f",,i,f);
because 2 (,) operators are used
an if operator is removed then output will be
5 5.750000
| Is This Answer Correct ? | 0 Yes | 0 No |
What is an endless loop?
explain what are pointers?
What is difference between far and near pointers?
Why do we write return 0 in c?
matrix multiplication fails introspect the causes for its failure and write down the possible reasons for its failurein c language.
main() { int x=2, y=4 if ((x==2||y==4) x++ y++ if (y==4+1) { x=x+y; } y++; printf("The values of x and y are %d and %d."x,y); } What is the output?
What will the preprocessor do for a program?
What is a loop?
What is union in c?
Explain do array subscripts always start with zero?
How #define works?
hello everybody can we change a the adress of a variabl i mean can i put for exemple for a int *p: &p=6 ?????????