c/c++可变宏定义

来源:互联网 发布:诲女知之乎女的意思 编辑:程序博客网 时间:2024/06/07 02:56
c99支持了可变参数的宏.
使用宏的时候,参数如果不写,宏里用 #,## 这样的东西会扩展成空串。

example:

#include<stdio.h>#define log(fmt, ...)   do{ fprintf(stdout,fmt,##__VA_ARGS__); }while(0);int main(){    log("aaaaaaaaaaaaaaa\n");log("a = %d b = %d c = % c\n", 10, 20, 'c');return 0;}


0 0