Multiple choice

Consider the following recursive C function that takes two arguments

unsigned int foo (unsigned int n, unsigned int r) {
   if (n > 0) return (n%r) foo (n / r, r));
   else return 0;
}

What is the return value of the function foo when it is called as foo (513, 2)?

  1. 9

  2. 8

  3. 5

  4. 2

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation