码迷,mamicode.com
首页 > 编程语言 > 详细

C语言可变參实现參数累加返回

时间:2017-06-30 15:42:17      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:++   _id   water   initial   va_arg   white   ace   fill   分享   

C语言可变參的作用真的是很大,自从发表了可变參怎样实现printf。fprintf,sprintf的文章以来。便有不少博友私信问我实现的机制,我也解释了相关的知识点。今天,我们借着这个机会,再来举一个样例。看看怎样用可变參来实现数据累加返回,请看代码:

#include <stdio.h>
#include <stdarg.h>

int add(int count,...)
{
  va_list ap;
  int i, sum;

  va_start (ap, count);		/* Initialize the argument list. */

  sum = 0;
  //将传參进来的全部整数进行累加 
  for (i = 0; i < count; i++)
    sum += va_arg (ap, int);	/* Get the next argument value. */

  va_end (ap);			/* Clean up. */
  //将累加的数值返回 
  return sum;
}

int main(void)
{
  	printf ("%d\n", add(3, 5, 5, 6));
  	printf ("%d\n", add(10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
	return 0 ;
}
执行结果:

我们看到,传进来的參数经过相加后返回,printf输出的结果即是该函数返回的结果。

技术分享

技术分享

C语言可变參实现參数累加返回

标签:++   _id   water   initial   va_arg   white   ace   fill   分享   

原文地址:http://www.cnblogs.com/yfceshi/p/7098604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!