#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);\ }\ }