Evaluate the following:
int fn(int v)
{
if(v==1 || v==0)
return 1;
if(v%2==0)
return fn(v/2)+2;
else
return fn(v-1)+3;
}
for fn(7);
1) 10
2) 11
3) 1
Answer Posted / lakshmi
first it checkes the main function i.e., fn()
int fn(7)
if(7==1||v==0) : this is false so the complier executes
the next if condition
if(7%2==0) : This is false so it executes the else
instruction
return fn(6)+3; :here we are again calling the fn
function .So the loop executes till the 7 becomes 1
After this the first if condition is true so it rerurns 1
to the function fn(1)+3
so the answer is 1.
| Is This Answer Correct ? | 0 Yes | 7 No |
Post New Answer View All Answers
How can I convert a number to a string?
how do you write a function that takes a variable number of arguments? What is the prototype of printf () function?
Differentiate between the = symbol and == symbol?
Which is better between malloc and calloc?
Does sprintf put null character?
Are comments included during the compilation stage and placed in the EXE file as well?
Does c have circular shift operators?
What is scope and lifetime of a variable in c?
plz let me know how to become a telecom protocol tester. thank you.
What is the advantage of c?
Explain the use of keyword 'register' with respect to variables.
How can I copy just a portion of a string?
Why do we use static in c?
I have seen function declarations that look like this
What is a constant?