c++ 可变参数自定义print c/c++如何写一个带可变参数的函数
2014-03-13 13:49
387 查看
#define CFG_TEST
1
void print(const char *format, ...)
{
#ifdef CFG_TEST
char buffer[1024] = {0};
va_list args;
va_start(args, format);
vsnprintf(buffer,1024, format,args);
va_end(args);
printf("%s", buffer);
#endif
}
float WCAvg(int n, ...)
{
// 声明一个指针,
用于持有可变参数
va_list pArg;
// 将 pArg
初始化为指向第一个参数
va_start(pArg, n);
float sum = 0;
// 输出参数
for(int i =
0; i != n; ++i)
{
// 获取 pArg
所指向的参数并输出
sum += va_arg(pArg,
double);
}
va_end(pArg);
return sum / n;
}
1
void print(const char *format, ...)
{
#ifdef CFG_TEST
char buffer[1024] = {0};
va_list args;
va_start(args, format);
vsnprintf(buffer,1024, format,args);
va_end(args);
printf("%s", buffer);
#endif
}
float WCAvg(int n, ...)
{
// 声明一个指针,
用于持有可变参数
va_list pArg;
// 将 pArg
初始化为指向第一个参数
va_start(pArg, n);
float sum = 0;
// 输出参数
for(int i =
0; i != n; ++i)
{
// 获取 pArg
所指向的参数并输出
sum += va_arg(pArg,
double);
}
va_end(pArg);
return sum / n;
}
相关文章推荐
- c语言指针的强制转换
- 12个C++ ico 图标网址
- 纯C++写的人事管理系统
- 蓝桥杯 第三届C/C++预赛真题(1) 微生物增值(数学题)
- 用C++实现的全组合问题
- 最大流—最小割的C++实现
- C++学习札记20140313
- C/C++位操作技巧
- C/C++中函数参数传递详解(从内存的分析)
- 初学的一点体会
- C语言经典著作导读
- C++ static
- Visual C++ 6.0 常见错误
- 2013级C++第17周项目【项目1-体会函数参数传递】
- C++快速排序实现(quicksort)
- C++堆、栈、自由存储区、全局/静态存储区和常量存储区
- C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)
- C/C++产生随机数
- Leetcode_ZigZag Conversion(c++ version)
- 2013级C++第17周项目【项目4】数组用于进制转换