No. The order of operations is such that all preprocessor directives are recognized before any macro expansion is done; thus, if a macro expands into something that looks like a preprocessor directive, it won't be recognized as such, but will rather be interpreted as (erroneous) C source text.