8-12.txt

来自「c++完美演绎程序」· 文本 代码 · 共 31 行

TXT
31
字号
/* 范例:8-12 */
#include <stdio.h>
#include <stdarg.h>		/* va_list等macro定义于此头文件 */
void pp(int a,char b, ...)		/* 含简略符号,可以接受多个传入参数*/
{
  va_list vl;				/* 先将vl设定为va_list类型*/

  va_start(vl,a);			/* 指向传入参数行中int a接收的是10的下一个,所以
                          是传入的参数的A*/
  printf("%c\n",va_arg( vl, char ));		/* 这是输出所指到的参数A*/
  printf("%c\n",va_arg( vl, char ));		/* 这是输出指到所指到的参数A加上char
                                    类型的大小,所以是c*/

  va_start(vl,b); 	/* 将指针所指定的参数开头重设定为A的下一个参数,所以是c*/

  printf("%d\n",va_arg( vl, int )); 	/* 将指针指到的参数开头转成int类型,所以是99*/

  va_end( vl );	/* va_end将指针指向NULL.*/
}
void main()
{
  pp(10,'A','c',67,'U');		/* 传入函数的参数 */
  getchar();
}

程序执行结果:
A
c
99

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?