宏定义的专业写法(工作中常用) #define ERR_EXIT(m) do { perror(m); exit(EXIT_FAILURE); } while(0) 工作中一般都是这样定义一个比较复杂的宏定义的,每一行都以斜杠结尾,斜杠的后边不能有空格,前边无所谓。