C - Recursion - Finding a number until a variable reaches another one

The code below display the nb variable until it reaches the number ten.

But the recursion will display the phrase in the printf(), of the main(), at the end of the while inside the r() function.

So the code inside the r() function will be executed before the printf() of the main().

Let's see this easy example:

#include        <stdio.h>

int     r(int nb) {
  while (nb < 10)
      printf("nb = %d\n", nb);
      return r(++nb);
  return 10;

int     main() {
  int first = 1;

  printf("Last = %d\n", r(first));
  return 0;

And the result:

nb = 1
nb = 2
nb = 3
nb = 4
nb = 5
nb = 6
nb = 7
nb = 8
nb = 9
Last = 10


Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Refresh Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.