为什么我对着写的可变参数程序运行不了那位大佬能帮看下
#include <stdio.h>#include <stdlib.h>
#include<stdarg.h>//可变参数所需头文件
int sum(int n,...)//...表示参数数量不确定
int main()
{
int result;
result=sum(3,1,2,3);
printf("result=%d\n",result);
return 0;
}
int sum(int n, ...)
{
int i,sum=0;
va_list a;//(va_list是可变参数的一个类型,即定义a为此类型)
va_start(a,n);
for(i=0;i<n;i++)
sum=sum+va_arg(a,int);//获取后面每个参数的值
va_end(a);//(关闭参数列表)
return sum;
}
函数声明后面要加个分号
#include <stdio.h>
#include <stdlib.h>
#include<stdarg.h>//可变参数所需头文件
int sum(int n,...);//...表示参数数量不确定 这里函数声明后面加;就可以运行了
int main()
{
int result;
result=sum(3,1,2,3);
printf("result=%d\n",result);
return 0;
}
int sum(int n, ...)
{
int i,sum=0;
va_list a;//(va_list是可变参数的一个类型,即定义a为此类型)
va_start(a,n);
for(i=0;i<n;i++)
sum=sum+va_arg(a,int);//获取后面每个参数的值
va_end(a);//(关闭参数列表)
return sum;
}
页:
[1]