• edited by
5,832 views
12 12 votes
#include <stdio.h>
int f(int *a,int b) {
  b = b-1;
  if(b == 0) return 1;
  else {
    *a = *a+1;
    
  return  *a + f(a,b)  ;
  }
}
int main() {
  int X = 5;
  printf("%d\n",f(&X,X));
}

Predict the output

If the return statement was

return  f(a,b)+ *a ;

What would have been the output here ?  Explain why there is change in output (if any)

1 Answer

Position:
Show:

Related questions

1 1 vote
1 1 answer
147
147 views
khanshahima4 asked 5 days ago
147 views
1. If precedence tells me which operator has priority, and associativity tells me how to handle operators at the same level, then why do I need a separate concept called ...
13 13 votes
1 1 answer
1.2k
1.2k views
GO Classes asked Jul 2
1,247 views
Assume:$\texttt{short = 2 bytes}$, $\texttt{int = 4 bytes}$, $\texttt{char = 1 byte}$$\texttt{int}$ needs $4$-byte alignment and the final structure size is rounded to a ...
16 16 votes
2 2 answers
669
669 views
GO Classes asked Jul 2
669 views
Assume:struct Student { double gpa; }; struct Student alice; struct Student *sptr = &alice;Which of the following correctly assigns $\texttt{4.0}$ to $\texttt{alice.gpa}$...
9 9 votes
1 1 answer
493
493 views
GO Classes asked Jul 2
493 views
Consider the following code idea from the source:typedef struct { double x, y; } Point; void reset(Point p) { p.x = p.y = 0; } int main() { Point a = {12.0, 42.0}; Point ...