va_arg.c
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 38 行
C
38 行
#include <stdio.h>
#include <stdarg.h>
static void test_fn(
const char *msg, /* message to be printed */
const char *types, /* parameter types (i,s) */
... ) /* variable arguments */
{
va_list argument;
int arg_int;
char *arg_string;
const char *types_ptr;
types_ptr = types;
printf( "\n%s -- %s\n", msg, types );
va_start( argument, types );
while( *types_ptr != '\0' ) {
if (*types_ptr == 'i') {
arg_int = va_arg( argument, int );
printf( "integer: %d\n", arg_int );
} else if (*types_ptr == 's') {
arg_string = va_arg( argument, char * );
printf( "string: %s\n", arg_string );
}
++types_ptr;
}
va_end( argument );
}
void main( void )
{
printf( "VA...TEST\n" );
test_fn( "PARAMETERS: 1, \"abc\", 546",
"isi", 1, "abc", 546 );
test_fn( "PARAMETERS: \"def\", 789",
"si", "def", 789 );
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?