Multiple choice

Consider the following C-program:

void foo(int n, int sum) {
  int k = 0, j = 0;
  if (n == 0) return;
  k = n % 10;
  j = n / 10;
  sum = sum + k;
  foo(j, sum);
  printf("%d,", k);
}

int main() {
  int a = 2048, sum = 0;
  foo(a, sum);
  printf("%dn", sum);

  getchar();
}

What does the above program print?

  1. 8, 4, 0, 2, 14

  2. 8, 4, 0, 2, 0

  3. 2, 0, 4, 8, 14

  4. 2, 0, 4, 8, 0

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