第 16 章 C 预处理器和 C 库(可变参数:stdarg.h)

 /*-------------------------------------------------
varargs.c -- use variable number of arguments
-------------------------------------------------*/ #include <stdio.h>
#include <stdarg.h> double sum(int, ...); int main()
{
double s, t; s = sum(, 1.1, 2.5, 13.3);
t = sum(, 1.1, 2.1, 13.1, 4.1, 5.1, 6.1); printf("return value for sum(3, 1.1, 2.5, 13.3): %g\n", s);
printf("return value for sum(6, 1.1, 2.1, 13.1, 4.1, 5.1, 6.1): %g\n", t); return ;
} double sum(int lim, ...)
{
va_list ap; //声明一个对象储存参数
double tot = ; va_start(ap, lim); //把 ap 初始化为参数列表 for (int i = ; i != lim; ++i)
tot += va_arg(ap, double); //访问参数列表的每一项 va_end(ap); //清理工作 return tot;
}

varargs.c

第 16 章 C 预处理器和 C 库(可变参数:stdarg.h)

上一篇:亲身实践 yui-compressor压缩js和css


下一篇:在linux下makefile的使用