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

wordpress 英文企业站seo工资

wordpress 英文企业站,seo工资,网站建设公司优惠中,网站开发实训周报文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中#xff0c;有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案#xff1a;变参函数。这种函数能够根据实际调用时的需求#xff0c;接受任意… 文章目录 1 前言2 实例2.1实例程序2.2程序执行结果2.3 程序分析 3 补充4 总结 1 前言 在编程过程中有时会遇到需要定义参数数量不固定的函数的情况。 C语言提供了一种灵活的解决方案变参函数。这种函数能够根据实际调用时的需求接受任意数量的参数。 本文将通过具体的实例程序介绍如何定义和使用变参数函数并分析其原理。 2 实例 2.1实例程序 下面这段代码实现了一个名为 average 的可变参数函数用于计算平均值。该函数接受一个固定参数 num指示将要计算平均的数值个数随后跟随着省略号 …表示其后跟随的是不定数量的数值参数。 #include stdio.h #include stdarg.hdouble average(int num,...) {va_list valist;double sum 0.0;va_start(valist, num); //为 num 个参数初始化 valist /* 访问所有赋给 valist 的参数 */for (int i 0; i num; i){sum va_arg(valist, int);}va_end(valist); //清理为 valist 保留的内存return sum/num; }int main() {printf(Average of 2, 3, 4, 5 %f\n, average(4, 2,3,4,5));printf(Average of 5, 10, 15 %f\n, average(3, 5,10,15)); }2.2程序执行结果 2.3 程序分析 1.函数参数传递的原理 为更好的理解变参数函数首先介绍下函数函数参数传递的原理。传入参数是以栈的形式存取举个例子声明一个函数如下 void fun(int x, float y, char z);在调用函数 fun 时参数按照相反的顺序入栈首先是 int x接着是 float y最后是 char z即在内存中的存储顺序是 z-y-x。 知道这些参数在内存中是连续存储的从理论上讲如果我们能够探测到这些参数中的任意一个变量的内存地址并且了解其类型以及相关类型的内存布局我们可以使用指针算术来计算并访问其他参数的地址。 2.变参函数 average() 的执行遵循以下符合参数传递原理的步骤 创建一个va_list 类型 变量valist用于存储变参函数的参数列表使用 宏 va_start用于初始化 va_list类型的变量确保它指向变参函数的第一个命名参数 num该参数地址紧邻可变参数区域...利用 宏 va_arg 来访问参数列表valist中的每个int类型项每次调用后 valist 将自动更新以指向下一个参数使用宏 va_end 来清理赋予valist变量的内存 通过上面对变参函数的分析可知变参函数并不是所有的参数都可以省略即函数不能定义成fun(...) 这种形式至少需要一个固定参数如实例程序中的num来作为变参列表的开始标记 3 补充 下面再介绍一个实例拓展一下变参函数的使用它通过变参函数列表和vsnprintf函数格式化字符串输出整数、浮点数等类型的变量。 1.程序 #include stdio.h #include stdarg.hint i1; double j 45.67; char message[50];void fun(const char *format, ...) {va_list args;va_start(args, format);vsnprintf(message, sizeof(message), format, args);va_end(args);// 打印格式化后的字符串printf(%s\n, message); }int main(void) {fun(var1: %d, i);fun(var1: %d var2: %f , i, j);return 0; }2.程序执行结果 3.函数vsnprintf介绍 vsnprintf函数是一个C语言标准库函数用于将格式化的数据写入到一个字符串缓冲区中并且可以指定最大写入的字符数。 函数原型 int vsnprintf(char *str, size_t size, const char *format, va_list arg);参数说明 str指向用于存储格式化后的输出的字符数组的指针。size缓冲区的大小以字符为单位包括空字符‘\0’的空间。如果size为0vsnprintf将不写入任何字符但会返回需要的缓冲区大小不包括空字符。format格式化字符串指定了如何格式化后续参数。argva_list类型的参数列表包含了要格式化的参数。 返回值 vsnprintf返回写入到str缓冲区中的字符数不包括终止的空字符’\0’如果发生错误或者缓冲区大小不足以容纳所有字符则返回负值。 实例程序中main函数中调用fun(var1: %d var2: %f , i, j);时其内部vsnprintf函数的调用相当于直接使用vsnprintf(message, sizeof(message), var1: %d var2: %f , i, j);进行格式化输出。 4 总结 本文将通过具体的实例程序介绍了如何定义和使用变参数函数并分析其原理。 参考链接 va_start 用法 C 可变参数 【C语言】vsnprintf函数的使用
http://www.sczhlp.com/news/156607/

相关文章:

  • 网站用户黏度表现在最近军事新闻热点
  • 实用指南:WSL2搭建Hadoop伪分布式环境
  • 3整数规划-分支定界法
  • 多状态循环泵控件开发
  • 2025活塞杆厂家TOP企业品牌推荐排行榜,精密,不锈钢,调制,超长,油缸,气缸,镀铬,大直径,精细活塞杆推荐这十家公司!
  • 谷歌推广网站wordpress主题没有评论
  • 优秀flash网站欣赏建网站要买服务器吗
  • 集约化网站建设方案优化设计方案
  • 做a网站店铺设计效果图
  • 南京高新区网站建设wordpress海外支付
  • wordpress多站显示不正常网络营销 网站
  • 免费推广途径深圳做关键词优化平台
  • 网站建设程序流程图网站建设加工
  • 一起作做业网站上海建设银行网站莘庄
  • 网站建设公司新报价免费静态网站模板
  • 美食分享网站设计短视频关键词seo优化
  • 建设企业网站小微seo怎么优化排名
  • 十九冶成都建设网站做电商网站需要注意哪些
  • seo网站外链专发网站建设 汇卓
  • 公司建网站需要多少钱阿里云代理网站怎么做
  • 网站推广做什么小程序制作开发加盟
  • 福州网站制作公司名字泰州网站开发
  • 网站建设费放什么科目wordpress+云播插件
  • 建设公司网站的细节北京宏福建设有限公司网站
  • 网站开发的电视剧wordpress安卓版教程视频教程
  • 2025试验机实力厂家品牌公司最新权威推荐榜:精准测试与技术创新标杆之选
  • [apple pencil二代充不上电]
  • 分布式光纤声波振动与AI的深度融合:开启智慧感知新时代 - 指南
  • 2025液压扳手实力厂家推荐榜:精准扭矩与耐用品质专业之选
  • 网站 文件夹结构wordpress小工具制作