closed by
247 views
1 votes
1 votes
closed as a duplicate of: GATE CSE 2013 | Question: 42

Consider following program

int A(int &a,int b)

{

b=b-1;

if(b==0) return 1;

a=a+1;

return a+A(a,b);

}

Note that first parameter is passed by reference and second by value. What is the return value by A(x,x) where the value of x is 5.

Confusion is that in C there is no order of evaluation of operands of a operator. So here, will the a value is calculated first or is the function called...As per the ans they have used the modified value of a...is there a logic for this resolution of operands...?? 

closed by

Related questions

0 votes
0 votes
1 answer
1
Debargha Mitra Roy asked Apr 16
80 views
#include <stdio.h int main() { int a[3] = {1, 3, 5, 7, 9, 11}; int *ptr = a[0]; ptr += sizeof(int); printf("%d", *ptr); return 0; }(Assume size of int to be $2$ bytes.)T...
0 votes
0 votes
2 answers
3
Debargha Mitra Roy asked Apr 10
122 views
What is the output of the below code?#include <stdio.h void main() { static int var = 5; printf("%d ", var ); if (var) main(); }a. 1 2 3 4 5b. 1c. 5 4 3 2 1d. Error
1 votes
1 votes
1 answer
4
SSR17 asked Feb 29
256 views
#include <stdio.h int main() { int i = -1; int x = (unsigned char)i; printf("%d", x); return 0; }output is 255 , but please explain how