用宏来定义函数

来源:互联网 发布:割接误删用户数据 编辑:程序博客网 时间:2024/05/15 21:26

变量都要用括号括起来;结尾不用分号“;”;不要用宏来定义复杂的函数;多行,则每一行最后一个字符必须是"\",最后一行没有“\”

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):成功执行



1 0
原创粉丝点击