回复 5楼 九转星河
恩恩谢谢

程序代码:#include <stdio.h>
#include <stdarg.h>
void
printfmin( char *string, ... );
int
main( void )
{
int a = 56;
double b = 0.56;
char c[10] = "abcd";
printfmin("%d %f %s",a,b,c);
return 0;
}
void
printfmin( char *string, ... )
{
va_list ap;
char *sval;
int ival;
double dval;
va_start( ap, string );
for( ; *string; string++ )
{
if( '%' != *string )
putchar( *string );
else
{
string++;
switch( *string )
{
case 'd':
ival = va_arg( ap, int );
printf("%d",ival);
break;
case 'f':
dval = va_arg( ap, double );
printf("%lf",dval);//编写函数将数值转换为字符串更好
break;
case 's':
for( sval = va_arg( ap, char * ); *sval; sval++ )
putchar( *sval );
break;
}
}
}
va_end( ap );
}
