Yes. But with a slight difference in output:
#define IS_STRING(token) "" token
This will be good for a string literal. For non-strings, this will give a compiler error.
Logic : the compiler automatically concatenates a string literal, so it "" tokengoes fine if it tokenis a string literal.
Here is a related discussion .
source
share