title: C Preprocessor Remove Trailing Comma
body: <p>I have a macro like this:</p>
  
  <pre><code>#define C( a... ) ( char *[] ){ a, 0 }
  </code></pre>
  
  <p>This works for non-empty arguments:</p>
  
  <pre><code>C( "a", "b" ) =&gt; ( char *[] )( "a", "b", 0 }
  </code></pre>
  
  <p>But I want to remove the trailing comma when provided with an empty argument:</p>
  
  <pre><code>C() =&gt; ( char *[] ){ , 0 }
  </code></pre>
  
  <p>Is this possible?</p>