title: difference between *y++ and ++*y?
body: <p>I'm confused in how this code will get executed.  Suppose we have</p>
  
  <pre><code>int x=30,*y,*z;
  y=&amp;x;
  </code></pre>
  
  <p>what is the difference between *y++ and ++*y?  and also what will be the output of this program?</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  int main(){
  
      int x=30,*y,*z;
      y=&amp;x;
      z=y;
      *y++=*z++;
     x++;
     printf("%d %d %d ",x,y,z);
     return 0;
  }
  </code></pre>