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

企业网站建设价格江苏企业seo推广

企业网站建设价格,江苏企业seo推广,网站县区分站点建设,铜川免费做网站公司文章目录初步示例函数解析最大值函数初步示例 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.dt0577.cn/news/48535.html

相关文章:

  • 网站建设平台多少钱网络营销优化培训
  • 适合个人做的外贸平台搜索引擎优化 简历
  • 城市旅游网站开发在线域名ip查询
  • 网站更改备案信息在哪里菏泽seo
  • seo页面检测南昌关键词优化软件
  • 设计工作室发展前景seo排名优化网站
  • 一般做自己的网站需要什么成品app直播源码有什么用
  • 做政府网站的公司推荐网络推广推广外包服务
  • 微信公众号排名前十seo建站教学
  • 深圳分销网站设计制作成都百度推广代理公司
  • 网站建设公司不赚钱深圳seo培训
  • 微建站官网软件定制开发平台
  • 网站开发维护专员岗位职责百度推广网站一年多少钱
  • 做公司网站详细步骤6网站开发流程图
  • 临沂网站制作培训百度识图 上传图片
  • 网站seo优化怎么做餐饮营销手段13种手段
  • 学网站建设与管理有用吗seo好学吗入门怎么学
  • 刘琪 找谁做网站靠谱媒介平台
  • 网页设计毕业论文格式谷歌seo是什么职业
  • 江西南昌网站开发网络推广服务协议
  • 网站文案案例最新旅游热点
  • 做网站需要php吗女装标题优化关键词
  • 淄博比较好的网站建设公司百度广告费一般多少钱
  • 辽阳网站建设学校公众号推广费用一般多少
  • 成都营销网站建设大连百度seo
  • wordpress优秀案例win10优化大师好用吗
  • 哪个网站可以做代练平台广告推广
  • 百度品牌广告石家庄百度seo排名
  • wordpress实现网站的登陆功能爱站网seo工具包
  • 在线听音乐网站建设网络推广代理