《C&C++完美演绎》源代码
源代码在线查看: 8-12.txt
/* 范例:8-12 */
#include
#include /* 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