I got this question in an interview. So, this seems to me a messed up Fibonacci seq. sum generator and this gives a stackoverflow. Because `if(n==0) should be if(n<3)` (exit condition is wrong). What should be the precise answer to this question? What was expected as an answer?

```
foo (int n) {
if (n == 0) return 1;
return foo(n-1) + foo(n-2);
}

```

**UPDATE**

What does this recursive function do?

What do you infer when you see these 3 lines of code. No debugging.