title: C Programming - #define function
body: <p>I am learning C in depth. But I am not getting this program. Somebody, please tell me how the output of the below program is <strong>m=2, n=3</strong></p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #define MAX(a,b) a&gt;b ? a:b
  int main()
  {
      int m,n;
      m=3+MAX(2,3);
      n=2*MAX(3,2);
      printf("m=%d, n=%d\n",m,n);
      return 0;
  }
  </code></pre>