2008年6月
c语言 不定参数的实现
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void CLI_TMP(unsigned int type,...);
int main(int argc, char *argv[])
{
char d[10]="ABC";
CLI_TMP(0,10,20,30,d,"ddsfssf",'c');
system("PAUSE");
return 0;
}
void CLI_TMP(unsigned int type,...)
{
va_list argptr;
char temp_buf[256];
int a,b,c;
char *d,*e;
char f;
va_start(argptr, type);
a = va_arg (argptr,int);
b = va_arg (argptr,int);
c = va_arg (argptr,int);
d = va_arg (argptr,char*);
e = va_arg (argptr,char*);
f = va_arg (argptr,int);
strcat(d,"aaa");
va_end(argptr);
printf("%d,%d,%d,%s,%s,%c\n",a,b,c,d,e,f);
}