有关va_list和vsnprintf输出函数的问题

va_list   ap;                   //声明一个变量来转换参数列表   

va_start(ap,fmt);               //初始化变量   

va_end(ap);                     //结束变量列表,和va_start成对使用   

可以根据va_arg(ap,type)取出参数  



已经经过调试成功的输出程序



#include<stdio.h>

#include <stdarg.h>



#define bufsize 80

char buffer[bufsize];



int vspf(char *fmt, ...)

{ 

 va_list argptr;

 int cnt;

 va_start(argptr, fmt);



 cnt = vsnprintf(buffer,bufsize ,fmt, argptr);



 va_end(argptr);



 return(cnt);

} 



int main(void)

{ 

 int inumber = 30;



 float fnumber = 90.0;



 char string[4] = "abc";

 

 vspf("%d %f %s", inumber, fnumber, string);

 

 printf("%s/n", buffer);



 return 0;

}  </stdarg.h></stdio.h>

 

你可能感兴趣的:(printf)