c/c++可变宏定义
2015-08-30 22:38
204 查看
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;
}
使用宏的时候,参数如果不写,宏里用 #,## 这样的东西会扩展成空串。
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;
}
相关文章推荐
- 1031. 查验身份证(15)
- C语言阶段的火车票系统项目
- 算法导论快排实现(C++)
- C++已经丧失了昔日的辉煌
- 怀着对未来美好的憧憬和对C++的无限的崇拜
- 【C++ STL】深入解析神秘的 --- 仿函数
- C与C++中的const
- c语言实现静态链表的基本操作
- VC++ CTreeCtrl 使用NM_CLICK和TVN_SELCHANGED
- Effective C++ 条款26 尽可能延后变量定义式的出现时间
- C++虚函数与虚表
- C++虚函数与虚表
- 关于c++中字符串的输入问题
- Notepad++改造成C/C++ IDE [真正意义上的IDE]
- Effective C++ 条款25 考虑写出一个不抛出异常的swap函数
- 简单的C语言语法-scanf
- C++虚函数和纯虚函数
- CRect::DeflateRect()
- 哈夫曼树 C语言实现 原创下改正
- C语言基础知识之(十五):指针和函数