C 语言常用的预处理-宏函数

来源:互联网 发布:网络主播用语 编辑:程序博客网 时间:2024/05/21 09:25
#include <stdio.h>//  宏函数    三目运算符#define MAX(A, B) A>B?A:B//宏函数  多行 添加\直接回车#define LOOP(FROM, TO, CONTENT)\for(int i=FROM;i<TO;i++){\CONTENT\}//宏函数不需要确定参数类型 普通函数如下int _max(int a, int b) {    return a > b ? a : b;}//有相同前缀void cSayHi() {    printf("Hi C\n");}void cSayHello() {    printf("Hello C\n");}//宏函数参数连接#define callc(NAME) c##NAME() //callc 任意更改//宏的可变参数#define LOG(LEVEL, FORMAT, ...) printf(LEVEL);printf(FORMAT,__VA_ARGS__);//#define LOG_1(FORMAT, ...) printf("LOG:");printf(FORMAT,__VA_ARGS__);#define LOG_2(FORMAT, ...) LOG("LOG:",FORMAT,__VA_ARGS__);int main() {    printf("Max num is %f\n", MAX(1.3, 3.3));    printf("Max num is %d\n", _max(1, 3));    LOOP(2, 10, printf("Current Index is %d\n", i);)    callc(SayHello);    LOG("LOG:", "Hello %s %d\n", "World", 100);    LOG_1("Hello %s %d\n", "World", 100);    LOG_2("Hello %s %d\n", "World", 100);    return 0;}

0 0
原创粉丝点击