Knowee
Questions
Features
Study Tools

What will be the output of the following program?12345678910111213#include <stdio.h> int ren(int n) { if (n == 6) return n; else return 2*ren(n+1);}int main() { printf("%d", ren(2)); return 0;}

Question

What will be the output of the following program?12345678910111213#include <stdio.h> int ren(int n) { if (n == 6) return n; else return 2*ren(n+1);}int main() { printf("%d", ren(2)); return 0;}

🧐 Not the exact question you are looking for?Go ask a question

Solution

The output of the program will be 64. Here's the step-by-step explanation:

  1. The function ren(int n) is called with n equal to 2.
  2. Since n is not equal to 6, the else part of the if statement is executed. This calls ren(n+1), which is ren(3), and multiplies the result by 2.
  3. This process repeats for ren(4), ren(5), and ren(6).
  4. When ren(6) is called, n is equal to 6, so the function returns 6.
  5. This return value is then propagated back up the call stack, being multiplied by 2 at each level. So ren(5) returns 2*6 = 12, ren(4) returns 2*12 = 24, ren(3) returns 2*24 = 48, and finally ren(2) returns 2*48 = 96.
  6. This final return value of 96 is then printed by the printf statement in the main function.

This problem has been solved

Similar Questions

What will be the output of the following program?1234567891011121314151617181920#include <stdio.h>void one();void two();void one() { for(int i = 0; i < 2; i++){ two(); }}void two() { printf("TWO ");}int main(){ one(); two(); return 0;}

What will be the output of the following program?

What will be the output of the following program?12345678910111213#include <stdio.h> int ren(int n) { if (n == 6) return n; else return 2*ren(n+1);}int main() { printf("%d", ren(2)); return 0;}

What will be the output of the following program?12345678910#include <stdio.h> int main() { int a[10]; *a = 7; *(a+1) = 12; int p = *(a+1) / *a; printf("%d", p); return 0;}

What will be the output of the following code?1234567891011121314151617#include <stdio.h>int main() { int i = 0, product = 10;start: if (i < 4) { product *= (i + 1); i++; if (i != 2) goto start; } printf("%d", product); return 0;}

1/4

Upgrade your grade with Knowee

Get personalized homework help. Review tough concepts in more detail, or go deeper into your topic by exploring other relevant questions.