title: Recursive Fibonacci
body: <p>I'm having a hard time understanding why</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  int fib(int x) {
      if (x == 1) {
          return 1;
      } else {
          return fib(x-1)+fib(x-2);
      }
  }
  
  int main() {
      cout &lt;&lt; fib(5) &lt;&lt; endl;
  }
  </code></pre>
  
  <p>results in a segmentation fault. Once x gets down to 1 shouldn't it eventually return?</p>