#include <stdarg.h>
名称描述相容 // 作用描述
va_start
使va_list
指向起始的参数
va_arg
检索参数C89
va_end
释放va_list
va_copy
拷贝va_list
的内容
实例解析:
#include <stdio.h> #include <stdarg.h> void printargs(int arg1, ...) /* 输出所有int类型的参数,直到-1结束 */ //参数列表中, 后面的元素类型不一定,va_arg()函数的返回类型决定的 {
va_list ap;//va_list 是数据类型 int i;
va_start(ap, arg1); //两个参数:第一个参数为va_list 数据类型的变量,第二个参数为函数第一个参数的名称 // 接着每一调用va_arg就会返回下一个参数, for (i = arg1; i != -1; i = va_arg(ap, int)) //va_arg的第一个参数为va_list,第二个参数为返回的数据类型 printf("%d ", i); double f; f = va_arg(ap,double); printf("\t浮点型的数据%lf",f); va_end(ap); //最后va_end必须在函数返回前被va_list呼叫( putchar('\n'); } //va_copy,它能够复制va_list而va_copy(va2, va1)意思为拷贝va1到va2。 int main(void) { printargs(5, 20, 14, 84, 97, 15, 24, 48, -1,0.123); printargs(84, 51, -1,0.234); printargs(-1,34.22); printargs(1, -1,23.23); return 0; }
自己赋值粘贴运行;
#include <stdarg.h>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- SQL基本语句以及示例
基本语句: /*dorp colunm*/ 语法:ALTER TABLE 表名 DROP COLUMN 要删除的字段 验证财务转换的正确性,查询以下两个表是否有数据 /*表连接inner jion ...
- 图片缩放应用(nearest / bilinear / three-order interpolate)
typedef xPixel PIXELCOLORRGB; double Sinxx(double value){ if (value < 0) value = -value; if (valu ...
- wini -- FileSubmitByFTP
// winFtpPutFiles.cpp : Defines the entry point for the console application.// #include "stdafx ...
- JS Encode and Decode URL
1.Encode URL String var url = $(location).attr('href'); //get current url //OR var url = 'folder/ind ...
- bootstrap的html模版
<!DOCTYPE html> <html> <head> <title>Bootstrap 模板</title> <meta nam ...
- UIView中间透明周围半透明(四种方法)
方法一 #import "DrawView.h" @implementation DrawView - (instancetype)initWithFrame:(CGRect)fr ...
- mysql主从切换
mysql 主从切换 主停,从做主步骤如下: 1 确认从服务器已经完成所有同步操作:stop slave io_thread show processlist 直到看到状态都为:xxx has rea ...
- VS2012智能提示消失的解决方法
1.点击电脑左下角的“开始菜单”->"所有程序"->Microsoft Visual Studio 2012->Visual Studio Tools->V ...
- jenkins---配置邮件
如果出现以下错误: 553 mail from must equal authorized user 看看管理员邮箱是否配置: 再测试,就能够正常收到邮件了!
- hibernate+mysql 自动生成数据库问题
Hibernate Entity类 表名注解大写时,在windows下mysql自动生成的表都为小写(不区分大小写),在linux下mysql自动生成区分大小写.导致数据库问题. 原因(window下 ...