fjw3202008 发表于 2018-11-29 20:41:34

为什么我对着写的可变参数程序运行不了那位大佬能帮看下

#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;
}

rencaixiaomeng 发表于 2018-11-30 19:34:29

函数声明后面要加个分号

#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]
查看完整版本: 为什么我对着写的可变参数程序运行不了那位大佬能帮看下