viewnotes/2328/GATE Biotechnology 2017

The Eduladder is a community of students, teachers, and programmers just interested to make you pass any exams. So we solve previous year question papers for you.
See Our team
Wondering how we keep quality?
Got unsolved questions?

Ask Questions
GATE-Computer-Science-Engineering-2017-->View question


Consider the C functions foo and bar given below: -gate computer science 2017

int foo(int val)
{
    int x = 0;
    while (val > 0)
    {
        x = x + foo(val--);
    }
    return val;
}

int bar(int val)
{
    int x = 0;
    while (val > 0)
    {
        x = x + bar(val-1);
    }
    return val;
}

Invocations of foo(3) and bar(3) will result in:

A) Return of 6 and 6 respectively
B) Infinite loop and abnormal termination respectively
C) Abnomal termination and infinite loop respectively
D) Both terminating abnormally


By:satyashiromani

Taged users:
|satyashiromani|vaishnavi-Deshpande|vivek25|milanyoyoyogmailcom|Umang|Raaghav-singhal|ThreeRed|Msshikhil|deepuckraj|Aparna-Dasgupta|Manisha12|Johnny|thegdx|leo||Naman-Nath|aksingh1818|Jessika-K|13priya|milan-ransingh|Amogh|Divyanshu-Changkakoti|Ashwath-Shetty|Aaditi|madachod|tichaona-garaidenga|ronald|akialwayz|jinsnjjose|dillu550

Likes:
|deepuckraj

Dislikes:
Be first to dislike this question

Talk about thisDelete|Like|Dislike|


Answers

C) Abnomal termination and infinite loop respectively

Explanation: 
In the function foo every time in the while foo is called with the value 3 because val is passed with post decrement operator so the value 3 is passed and val is decremented later. Every time the function is called a new variable is created as the passed variable is passed by value, with the value 3. So the function will close abruptly without returning any value. 
In the function bar, in the while loop value the value of val variable is not decrementing, it remains 3 only. Bar function in the while loop is called with val-1 i.e 2 but value of val is not decremented, so it will result in infinite loop.

This explanation is contributed by Deepak Raj


deepuckraj

Likes:
Be first to like this answer

Dislikes:
Be first to dislike this answer
Talk about this|Once you have earned teacher badge you can edit this questionDelete|Like|Dislike|
------------------------------------

Can you help us to add better answer here? Please see this



Not the answer you're looking for? Browse other questions from this Question paper or ask your own question.

Join eduladder!