#define 的换行问题

#define + <内容>

#define默认不是以 ';' 结束,而是以换行结束。

因此,#define后面的内容如果太长,一行写不下,必须在行末尾加 '\' ,而且'\' 前面不能有空格

正确格式如:

#define CHKADDRESS(_saddr_)\
{\
    u_char* p = (char *) &(_saddr_);\
    if((p[0] ==10) \
    ||(p[0] = 168 && 16 <=p[1] && p[1] <= 31)\
    || (p[0] ==192 && p[1] ==168));\
    else {\
        fprintf(stderr, "IP address error.\n");\
        exit(EXIT_FALLUER);\
    }\
}
原文地址:https://www.cnblogs.com/flash610/p/3123955.html