title: evaluation order and printing in printf
body: <p>I've seen questions about i++ ++i etc. but I have a small, somewhat different question. 
  suppose I have some thing like this:</p>
  
  <pre><code> printf("%d %d", P, P);
  </code></pre>
  
  <p>and P is a function</p>
  
  <pre><code> int P(){
        printf("HEY");
        return 0;
   }
  </code></pre>
  
  <p>what will be printed
  HEYHEY00 or HEY0HEY0 ?</p>