title: Answer is 8 but how?
body: <p>How does the following code work?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;conio.h&gt;
  void main () {
      int n = 6, d;
      int func (int n) {
          int x, y;
          if (n &lt;= 1)
              return n;
          x = func (n - 1);
          y = func (n - 2);
          return (x + y);
      }
      d = func (6);
      printf ("%d", d);
  }
  </code></pre>
  
  <p>The answer is 8 but don't know why? please explain step wise step.</p>