title: why the output is 2 and 0 for this program?
body: <p>I am getting an unexpected output. please tell me y m getting dis?</p>
  
  <p>code is given below:</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  
  int main()
  {
      int arr[3] = {2, 3, 4};
      char *p;
      p = arr;
      p = (char*)((int*)(p));
      printf("%d, ", *p);
      p = (int*)(p+1);
      printf("%d", *p);
      return 0;
    }
  </code></pre>
  
  <p>output:</p>
  
  <blockquote>
    <p>2 0</p>
  </blockquote>