Comments in the source code are replaced with spaces at the earliest stages of translation: after the merging of source lines by characters \ at the ends of lines, but even before some “substantial” work of the preprocessor begins. The splitting into lines formed after processing \ is preserved.
That is, you can insert comments into the macro, but for this you should use the comments in the style of /* ... */ and do not forget to put \ after such a comment so that the macro does not "explode"
#define MAX(a, b) \ /* Maximum */ \ ((a) > (b) ? (a) : (b))
A single line comment // in macro will be used only in its last line, because such a comment with the \ character at the end will actually become multi-line and “swallow” the next line of macro.