[C/C++]如何定义并提取"..."的值int intaveragevalue(int a,...)//average value{\x05int ret = a;\x05return ret;}搞了半天都没有把"..."给提取出来.P.S."..."应是int类型,可编译时却成了void.P.P.S.有木有一个获取"..."被

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 02:44:32
[C/C++]如何定义并提取

[C/C++]如何定义并提取"..."的值int intaveragevalue(int a,...)//average value{\x05int ret = a;\x05return ret;}搞了半天都没有把"..."给提取出来.P.S."..."应是int类型,可编译时却成了void.P.P.S.有木有一个获取"..."被
[C/C++]如何定义并提取"..."的值
int intaveragevalue(int a,...)//average value
{
\x05int ret = a;
\x05return ret;
}
搞了半天都没有把"..."给提取出来.
P.S."..."应是int类型,可编译时却成了void.
P.P.S.有木有一个获取"..."被赋值次数的方法?

[C/C++]如何定义并提取"..."的值int intaveragevalue(int a,...)//average value{\x05int ret = a;\x05return ret;}搞了半天都没有把"..."给提取出来.P.S."..."应是int类型,可编译时却成了void.P.P.S.有木有一个获取"..."被
使用stdarg.h文件以及提供的相应的宏
#include <iostream>
#include <stdarg.h>
int intAverageValue(int a, ...);

int main()
{
\x05std::cout << intAverageValue(4, 1, 2, 3, 4);
}

int intAverageValue(int a, ...) //a是后面参数的个数
{
\x05va_list ap;    //定义一个指向个数可变的参数列表指针ap;
\x05va_start(ap, a);  //使参数列表指针ap指向函数参数列表中的第一个可选参数

\x05int ret = 0;
\x05while (a-- != 0)
\x05\x05ret += va_arg(ap, int);//返回参数列表中指针ap所指的参数,返回类型为int,并使指针ap指向参数列表中下一个参数.

\x05va_end(ap); //清空参数列表,并置参数指针ap无效

\x05return ret;
}
应该没有,必须指定参数的个数