当前位置: 首页 > news >正文

企业网站建设价格百度网

企业网站建设价格,百度网,深圳市住房和建设局政府网站信息公开目录,wordpress证书文章目录初步示例函数解析最大值函数初步示例 stdarg.h提供了C语言对可变参数的支持&#xff0c;先举一个简短的例子 //testStdArg.c #include <stdarg.h> #include <stdio.h>void printIntList(int N, ...){va_list args; //存放...所代表的参数va_start(…

文章目录

    • 初步示例
    • 函数解析
    • 最大值函数

初步示例

stdarg.h提供了C语言对可变参数的支持,先举一个简短的例子

//testStdArg.c
#include <stdarg.h>
#include <stdio.h>void printIntList(int N, ...){va_list args;       //存放...所代表的参数va_start(args, N);  //初始化变量argsfor (int idx = 1; idx <= N; ++idx)printf("param %d: %d, ", idx, va_arg(args, int));printf("-----\n");va_end(args);
}int main(void)
{printIntList(4,1,2,3,4);printIntList(4,1,2,3);printIntList(3,1,2,3,4);
}

编译之后输出结果为

>gcc testStdArg.c
>a.exe
param 1: 1, param 2: 2, param 3: 3, param 4: 4, 
-----
param 1: 1, param 2: 2, param 3: 3, param 4: 4, 
-----
param 1: 1, param 2: 2, param 3: 3, 
-----

函数解析

其中,va_liststdarg.h中声明的数据类型,用以存放...所代表的参数,在printIntList中,定义了va_list类型的args用于存储变量。

stdarg.h中声明了三个函数,在上面的案例中都用上了,下面逐一解析

void va_start(va_list ap, last_arg)

  • 用于初始化ap变量,last_arg为最后一个参数的下标
  • 对于函数printIntList(4,1,2,3,4)而言,总共输入了5个参数,故其last_arg应该为4。

type va_arg(va_list ap, type)

  • 逐个检索函数参数列表中类型为type参数
  • printIntList中,va_arg被写在一个循环中,会逐个检索int型的参数
  • printIntList(4,1,2,3)中,由于N设为4,所以va_arg会检索4次,最后返回的4实际上是一个野指针。

void va_end(va_list ap)

  • 在参数调用结束之后,应该调用va_end来释放ap

最大值函数

有了这个函数,就可以实现多个参数求统计参数的功能,例如求最大值

//testMax
#include <stdarg.h>
#include <stdio.h>double getMax(int N, ...){va_list args;va_start(args, N);double val;double max = va_arg(args, double);for(int idx=2; idx <= N; ++idx){val = va_arg(args, double);max = max > val ? max : val;}va_end(args);return max;
}int main(void)
{double a = getMax(4,1.2,2.3,3.4,2.5);printf("%f", a);
}

测试结果如下

>gcc test.c 
>a.exe
3.400000

最后留一个小作业,如何用C语言实现一个参数个数可变的复杂一点的应用,比如求标准差σ=1N∑i=1N(xi−xˉ)2\sigma=\sqrt{\frac1N\sum^N_{i=1}(x_i-\bar x)^2}σ=N1i=1N(xixˉ)2

这里面的问题是,va_arg相当于是一个不断向前的迭代器,但并没有索引的功能,所以必须一次性取出,而不能跑多次循环。一个最直接的解决方案就是开一个数组或者链表,来缓存va_arg中的数据。

http://www.15wanjia.com/news/24594.html

相关文章:

  • 国外文本排版设计网站求职seo
  • 网站建站素材百度seo搜索引擎优化厂家
  • 网站域名更改了怎么换吉林seo技术交流
  • 聊城做企业网站怎么做网站免费的
  • 内容营销的定义福建seo外包
  • 买个网站域名多少钱一年搜索引擎网络排名
  • 北京装修公司招聘工长广东网站seo策划
  • 中小企业名录查询官网青岛官网seo
  • 怎样建设网站是什么意思广告海外推广
  • 做数据分析网站深圳整合营销
  • oppo游戏中心官网长沙seo优化推广公司
  • 做网站设计参考文献百度推广平台
  • 做钢材的网站石家庄今日头条新闻
  • 深圳网站设计公司怎么创建网站免费建立个人网站
  • 单机多wordpress沧州网站seo
  • 怎样做视频播放网站找片子有什么好的关键词推荐
  • 全国网站开发赛百度seo优化服务项目
  • 河北wap网站建设国外免费舆情网站有哪些软件
  • 上海网站建设定制公司推广赚佣金
  • 在线网站做情侣头像企业网站建设原则是
  • 中国交通建设集团网站如何有效的推广宣传
  • 广州网站推广教程营销咨询公司排名
  • 网站建设详细流程什么是百度竞价排名服务
  • 做网站好处专业排名优化工具
  • 厦门网站定制windows优化大师提供的
  • c2c模式的网站windows7系统优化工具
  • 怎么做html5网站2024年2月新冠疫情又开始了吗
  • 宿州网站开发公司谷歌搜图
  • 蓬莱市住房和规划建设管理局网站百度竞价推广思路
  • 做预定网站的作用网站运营工作内容