title: C trouble with pointers
body: <p>In this code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  int fun (int *x, int i) {
   int r;
   printf("%d\n", *(x+i/2));
   r = *x + i / 2 + *(x + i / 2);
   return r;
  }
  int main (void) {
   int x[] = {8, 7, 6, 5, 4, 3, 2, 1};
   printf("%d", fun(x, 7));
   return 0;
  }
  </code></pre>
  
  <p>I'm having trouble understanding, why is *(x+i/2) = 5?</p>