变量都要用括号括起来;结尾不用分号“;”;不要用宏来定义复杂的函数;多行,则每一行最后一个字符必须是"\",最后一行没有“\”
1.从两个数中取最大值
#define MAX(a, b) ((a) > (b) ? (a) : (b))
2.从两个数中取最小值
#define MIN(a, b) ((a) < (b) ? (a) : (b))
3.输出错误信息,并退出
#define ERR_EXIT(m) \
{\
perror(m);\
exit(EXIT_FAILURE);\
}
程序练习:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define ERR_EXIT(m) \
{\
perror(m);\
exit(EXIT_FAILURE);\
}
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
int main()
{
printf("max between 3 and 4: %d\n", MAX(3, 4));
printf("min between 7 and 8: %d\n", MIN(7, 8));
pid_t pid;
if ((pid = fork()) < 0)
ERR_EXIT("fork() error");
exit(0);
}
结果:
分析:
EXIT_FAILURE和EXIT_SUCCESS是stdlib.h中定义的符号常量
exit(EXIT_FAILURE):未能成功执行
exit(EXIT_SUCCESS):成功执行