Of course, but the confusion lies in that it's a pre-processor. It finds and replaces all the instances of the text it can find. The preprocessor knows nothing about your code and cannot say whether it's intentional to place TEXT here or there.
It's so very easy to mess up. You can even define keywords:
Which is why I assumed that it changes all the text it finds.Code:#define float THIS IS WRONG
float myvar; // Compile error: syntax error