C++中如果我们想要获取不确定个数的参数进入函数,可以使用下面这种方法:
1 1 #include <cstdarg> //这里我们添加进来所需要的类库<csrdarg>
2 2
3 3 // first argument is int count of remaining args
4 4 // ... remaining args are doubles for average
5 5
6 6 double average(const int count, ...)
7 7 {
8 8 va_list ap; //在这里我们定义一个va_list类型的变量
9 9 int i; //在这里我们定义一个可以在下方循环使用的整型变量
10 10 double total = 0.0; //在这里我们定义一个浮点数保存所有的参数的和
11 11 va_start(ap, count); //在这里我们获得可变参数列表的第一个参数的地址,括号里面第一个参数是类型为va_list的指针,第二个参数是可变类型最左边的参数,此处是count
12 12
13 13 for(i = 0; i < count; ++i) {
14 14 total += va_arg(ap, double); //在这里我们返回可变的参数,括号里面第二个参数是你想要返回的参数类型
15 15 }
16 16
17 17 va_end(ap); //在这里我们可以清空可变参数列表va_list
18 18 return total / count;
19 19
20 20 }
void main(int argc, char ** argv){
printf("The value of avarage is %lg\n", average(3, 7.3, 9.5,8.5)); //结果为8.334
printf("The value of avarage is %lg\n", average(2, 4.6, 5.4)); //结果为5
}
要记住,函数定义要放在主函数的前面,不然会出现C3861错误,今天就犯了这个错误。
有了这个函数,我们就可以传入不同个数的参数进行运算了,非常方便。
以上就是C++中,如果我们想要获取不确定个数的参数进入函数,就可以使用va_list类型的变量的全部内容了,更多内容请关注:CPP学习网_CPP大学
本文固定链接:CPP学习网_CPP大学-C++中,如果我们想要获取不确定个数的参数进入函数,就可以使用va_list类型的变量原文链接: https://www.cnblogs.com/cppys/p/6639595.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/251669
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!