# Operator

If, in the replacement list of a function-like macro, a token matches the name of a formal parameter but is preceded by a # then the token is replaced by the spelling of the actual parameter enclosed in double quotes. For example, given the macro

#define function_like_macro(parameterA,parameterB) #parameterA parameterB

the call

function_like_macro(Hello," Cruel World")

expands to the following string.

"Hello" " Cruel World"

When performing replacements that make use of the # operator, a backslash or double quote in a calling parameter is replaced by // or /" (respectively) in the quoted string that results.