c语言 怎么写 可变 参数函数

如题所述

#include <stdarg.h>          //可变参数函数必要的头文件
#include <stdio.h>

long int sum(unsigned int argc,...)    //可变参数函数必须包含至少一个确定的参数
{
long int srt=0;
int va;
unsigned int i;
va_list vl;                        //用于指向可变参数列表
va_start(vl,argc);                 //初始化,va_start()调用的第一个参数是所编写的可变参数函数的最后一个确定的参数
for (i = 0; i<argc; i++) {
srt+=(int)va_arg(vl,int);      //从参数列表按提取一个int类型的值参与相加运算
}
va_end(vl);                        //清理
return srt;
}
int main(int argc, char* argv[])
{
printf("%ld\n",sum(3,1,2,3));
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-02-23
许多程序设计语言中,可以将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,这就是程序中的函数。如C语言中:

int max(int x,int y)

{

return(x>yx:y;);

}

就是一段比较两数大小的函数,函数有参数与返回值。C++程序设计中的函数可以分为两类:带参数的函数和不带参数的函数。这两种参数的声明、定义也不一样。

带有(一个)参数的函数的声明:

类型名标示符+函数名+(类型标示符+参数)

{

}

不带参数的函数的声明:

void+函数名( )

{
}

花括号内为函数体。

带参数的函数有返回值,不带参数的没有返回值。

C++中函数的调用:函数必须声明后才可以被调用。调用格式为:函数名(实参)调用时函数名后的小括号中的实参必须和声明函数时的函数括号中的形参个数相同。有返回值的函数可以进行计算,也可以做为右值进行赋值。

C语言中的部分函数:

main(主函数)

max(求最大数的函数)

scanf(输入函数)

printf(输出函数)

韦宵汨助休铸琯版泫哎维底香戈速燮纯坐焜嵋服本回答被提问者和网友采纳
相似回答