变长参数
来源:互联网 发布:鹿铃动画片 知乎 编辑:程序博客网 时间:2024/05/01 09:47
源自:http://www.cnblogs.com/zzj2/archive/2013/04/16/3024670.html
先举例
一、什么是可变参数
我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:
int printf( const char* format, ...);
它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式: printf("%d",i);
printf("%s",s);
printf("the number is %d ,string is:%s", i, s);
#include <stdio.h>
int sum(int n, ...)
{
int i;
int sum = 0;
int *p;
p=&n+1;
for(i=0;i<n;i++)
{
sum += *(p+i);
}
return sum;
}
int main(void)
{
int result = sum(4,1,2,5,9);
printf("%d\n", result);
return 0;
}
先传入一个个数 然后再计算。这些参数都是相邻的 一定吗??
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 变长参数
- 变长参数的 Tracer
- 变长参数应用举例
- C变长参数
- [原]关于变长参数
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- 变长参数的 Tracer
- UVA 311 Packets 贪心+模拟
- VIM常用命令
- 棋盘问题
- js-textarea动态添加内容
- 第五章 shell 机构化脚本【if-else-fi】
- 变长参数
- POJ 2503 构造字典 翻译单词 使用字典树
- 高精度加法
- JVM的内存溢出说明及参数调整
- 枚举全排列
- 应用Cryptopp库实现AES加密【转】
- hadoop 挺好的参考文档笔记
- windows平台下通过注册表获取特定后缀名的默认图标
- 今天真心是被cocos2d-x恶心坏了