#include <stdio.h>

#include <stdarg.h>

int sum(int a,...)

{

    int temp = 0,sum=0,count;

    va_list argp;

    va_start(argp,a);

    count = a;

    while(count >= 0)

    {

        sum+=temp;

        count--;

        temp = va_arg(argp,int);

    }

    va_end(argp);

    return sum;



}

int main()

{

    printf("%d--\n",sum(6,1,2,3,4,5,6));//第一个参数 一般要指定参数个数,printf没指定是因为他可以统计“%”的个数。当然也可以用最后一个参数设成特殊值来标识参数结束。

    return 0;

}

收藏于 2013-03-25
来自于百度空间

C变参数函数demo的更多相关文章

  1. C语言变参数函数

    #include<iostream> #include<stdarg.h> using namespace std; int sum(int cnt, ...){ va_lis ...

  2. 2.GO-可变参数函数、匿名函数和函数变量

    2.1.可变参数函数 可变参数指参数的个数可以是任意个 可变参数必须在参数列表最后的位置,在参数名和类型之间添加三个点表示可变参数函数 声明函数时,在函数体把可变参数当作切片使用即可 package ...

  3. C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例) .

    我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解.例如Printf(): Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int printf( c ...

  4. c++11变长参数函数模板

    By francis_hao    Mar 25,2018   一个最简单的实例大概是这个样子: #include <iostream>using namespace std; /*变长参 ...

  5. C可变参数函数 实现

    转自:http://blog.csdn.net/weiwangchao_/article/details/4857567 C函数要在程序中用到以下这些宏: void va_start( va_list ...

  6. c可变参数函数

    C函数要在程序中用到以下这些宏: <pre lang="c" escaped="true">void va_start( va_list arg_p ...

  7. C语言中可变参数函数实现原理

    C函数调用的栈结构 可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈.例如,对于函数: void fu ...

  8. C语言可变参数函数实现原理

    一.可变参数函数实现原理 C函数调用的栈结构: 可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈. 本 ...

  9. ios开发-Object-C可变参数函数

    简介 一个可变参数函数是指一个函数拥有不定的参数,即为一个函数可接收多个参数.有时我们会遇到一些算术问题需要用到,比如是计算传入参数的总和,字符串的连接或是其它操作过程,我们在 OC 里也经常使用,最 ...

随机推荐

  1. Python入门-散点图绘制

    Python入门-散点图绘制  废话不说 直接上代码 import matplotlib.pyplot as plt x_values = list(range(1,1001)) y_values = ...

  2. 表单:checkbox、radio样式(用图片换掉默认样式)

    checkbox.radio样式(用图片换掉默认样式) <!doctype html> <html> <head> <meta charset="u ...

  3. windows2008r2共享文件夹设置方法

    一,无法启用网络发现的方法 参考网站:          http://www.jb51.net/os/windows/win2008/154631.html Function Discovery R ...

  4. 15. "wm_concat"_数据库中将查询出来的多条记录中的某个字段用","拼接起来

    例子: select wm_concat(roleid) from lbmember where userid = ? 值的形式:1,2,3 下面是把1,2,3转换为1;2;3select repla ...

  5. leetcode415

    public class Solution { public string AddStrings(string num1, string num2) { //判断num1和num2的长度,进行对齐 i ...

  6. eclipse中build path与Web Deployment Assembly的作用,区别

    转自:https://blog.csdn.net/heart_mine/article/details/79402792 以下内容只为做个笔记记录已下,有问题可以留言,欢迎补充. 今天在eclipse ...

  7. UI5-文档-4.18-Icons

    我们的对话框仍然是空的.因为SAPUI5附带了一个包含500多个图标的大图标字体,所以我们将在对话框打开时添加一个图标来问候用户. Preview An icon is now displayed i ...

  8. css兼容性记录

    *        , ie6,ie7可以识别: _和- ,  ie6可以识别: !important  ,表示高优先级,ie7及以上,firefox都支持,ie6认识带!important的样式属性, ...

  9. System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部

    SQL还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "***" 的日志尾部.如果该日志包含您不希望丢失的工作,请使用 BAC ...

  10. js中函数传参的情况

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...