Well, according to C99, it should. Section "5.1.1.2 Translation phases" says (in phase 3): "Each comment is replaced by one space character."
Edit: just checked and clang behaves just like gcc with -E. Maybe you didn't mean comments but preprocessor directives?