69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdarg.h>
#include <assert.h>
void tiny_printf(char *format,...)
{
int i;
va_list ap;
va_start(ap,format);
for(i=0;format[i]!='\0';i++)
{
switch(format[i])
{
case 's':
printf("%s ",va_arg(ap,char *));
break;
case 'd':
printf("%d ",va_arg(ap,int));
break;
case 'c':
printf("%c ",va_arg(ap,char *));
break;
case 'f':
printf("%f ",va_arg(ap,float));
break;
default:
assert(0);
}
}
va_end(ap);
putchar('\n');
}
int main(void)
{
tiny_printf("ssdcf","result is you are SB","is",33,'i',2.3);
return 0;
}
case 'c':
printf("%c ",(char)va_arg(ap,int));
break;
case 'f':
printf("%f ",(float)va_arg(ap,double));
break;