title: C pointers output of following need explanation
body: <p>how does the output come out to be JACK?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main()
  {
      void *vp;
      char ch = 74, *cp = "JACK";
      int j = 65;
      vp = &amp;ch;
      printf("%c", *(char*)vp);
      vp = &amp;j;
      printf("%c", *(int*)vp);
      vp = cp;
      printf("%s", (char*)vp + 2);
      return 0;
  }
  </code></pre>