1 /*------------------------------------------------- 2 varargs.c -- use variable number of arguments 3 -------------------------------------------------*/ 4 5 #include <stdio.h> 6 #include <stdarg.h> 7 8 double sum(int, ...); 9 10 int main() 11 { 12 double s, t; 13 14 s = sum(3, 1.1, 2.5, 13.3); 15 t = sum(6, 1.1, 2.1, 13.1, 4.1, 5.1, 6.1); 16 17 printf("return value for sum(3, 1.1, 2.5, 13.3): %g\n", s); 18 printf("return value for sum(6, 1.1, 2.1, 13.1, 4.1, 5.1, 6.1): %g\n", t); 19 20 return 0; 21 } 22 23 double sum(int lim, ...) 24 { 25 va_list ap; //声明一个对象储存参数 26 double tot = 0; 27 28 va_start(ap, lim); //把 ap 初始化为参数列表 29 30 for (int i = 0; i != lim; ++i) 31 tot += va_arg(ap, double); //访问参数列表的每一项 32 33 va_end(ap); //清理工作 34 35 return tot; 36 }
varargs.c
原文地址:https://www.cnblogs.com/web1013/p/9260984.html
时间: 2024-10-13 05:48:45