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



FIND THE OUTPUT IF THE INPUT IS 5 5.75 void main() { int i=1; float f=2.25; scanf("..

Answer / biren

5 2.25

Is This Answer Correct ?    6 Yes 4 No

FIND THE OUTPUT IF THE INPUT IS 5 5.75 void main() { int i=1; float f=2.25; scanf("..

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

FIND THE OUTPUT IF THE INPUT IS 5 5.75 void main() { int i=1; float f=2.25; scanf("..

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

FIND THE OUTPUT IF THE INPUT IS 5 5.75 void main() { int i=1; float f=2.25; scanf("..

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

Post New Answer

More C Interview Questions

What does a derived class inherit from a base class a) Only the Public members of the base class b) Only the Protected members of the base class c) Both the Public and the Protected members of the base class d) .c file

0 Answers  


main() { int a[10]; printf("%d",*a+1-*a+3); }

2 Answers  


sir i wanted to know how we wap in c to add numbers without using arithmetic operator in which digits are entered by user?

2 Answers  


how is the examination pattern?

0 Answers   Wipro,


Explain what is the difference between a string and an array?

0 Answers  


why we are using float in C

4 Answers  


how to write optimum code to divide a 50 digit number with a 25 digit number??

0 Answers   MGM,


Explain what is page thrashing?

0 Answers  


How can I check whether a file exists? I want to warn the user if a requested input file is missing.

0 Answers  


Which is not valid in C? 1) class aClass{public:int x;} 2) /* A comment */ 3) char x=12;

7 Answers  


What does. int *x[](); means ?

0 Answers   Wilco,


how many times of error occur in C

11 Answers  


Categories