title: c printf for macro-defined type
body: <p>I have a typedef in an <code>if</code> macro, something like:</p>
  
  <pre><code>#ifdef BLA_BLA
  typedef int typeA
  #elseif 
  typedef double tyeA
  #endif
  printf("%d" , a); printf("%l" , a);
  </code></pre>
  
  <p>I am wondering what is the best approach when I write a printf for this case? (<code>%d</code> or <code>%l</code>).</p>
  
  <p>I know I can define a fixed string in the macro as well. But is it the best way?</p>