```
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 ("%d\n", sum);

  getchar();

}

```

For me this should be 4,0,2,8,0
However, when i execute it, it gives me 2,0,4,8,0