## operator within a macro replacement list causes
the two tokens on either side of the operator to be concatenated
into a single token.
In common C and VAX C compatibility mode, comments can also concatenate two tokens because in these modes a comment is replaced by a null string after macro invocations.
This behavior is not supported in strict ANSI or default mode, where comments are replaced with a single space.