让我再找找资料再来写
#include "stdio.h"
#include <stdarg.h>
int average(int n_values,...)
{
va_list var_arg;
int count ;
float sum = 0;
va_start(var_arg,n_values);
for (count =0 ;count<n_values;count += 1)
{
sum += va_arg(var_arg,int);
}
va_end(var_arg);
return sum/n_values;
}
main(){
printf("%d\n",average( 3,3,4,5));
}
输出为:4
从书上看到相关解释:
1、va_arg(var_arg,int) 怎么确认后面的就是int类型呢?
2、怎么迭代出后续参数呢?即没办法知道参数的数量
要回答这个两个问题,就必须使用命令参数,即上面的
int n_values
我们可以通过这个来定义它的个数,和限定后面的值都是int类型
以上来源《c和指针》