dengnilikai

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题:

设计一个可变的函数:int add(int num,...),将除num之外的其他参数进行累加。

 1 #include <stdio.h>
 2 #include <stdarg.h>    //相关函数都包含在这个头文件当中
 3 
 4 int add(int num,...)
 5 {
 6     va_list arg_ptr;    
 7     int nArgValue = 0;
 8     int sum = 0;
 9     va_start(arg_ptr, num);
10     for (int i=0; i<num; i++)
11     {
12         nArgValue=va_arg(arg_ptr, int);
13         sum+=nArgValue;
14     }
15     va_end(arg_ptr);
16 
17     return sum;
18 }
19 
20 int main(int argc, char **argv)
21 {
22     printf("%d\n", add(4,11,2,55,1));
23     return 0;
24 }

显示结果

69

使用顺序:

va_list arg_ptr;

va_start(arg_ptr,num);

va_arg(arg_ptr, int);

va_end(arg_ptr);

posted on 2017-02-28 23:58  dengnilikai  阅读(176)  评论(0编辑  收藏  举报