Does '#'-character have to be at the start of a line in the C preprocessor? [duplicate]
问题 This question already has answers here : Should preprocessor instructions be on the beginning of a line? (5 answers) Closed 5 years ago . I have programmed C for quite a while now. During this time I have learned that it is a common convention to put the "#"-character that comes before preprocessor-directives at column one. Example: #include <stdio.h> int main(void) { #ifdef MACRO1 #ifdef MACRO2 puts("defined(MACRO1) && defined(MACRO2)"); #else puts("defined(MACRO1)"); #endif #else puts("