好程序员训练营
<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>
------我的c语言笔记,期待与您交流!
#include<stdio.h>
#include<stdarg.h>
/*minprintf函数:带有可变参数表的简化的printf函数*/
void minprintf(char *fmt,...)
{
va_list ap;
char *p,*sval;
int ival;
double dval;
va_start(ap,fmt);
for(p=fmt;*p;p++)
{
if(*p!='%')
{
putchar(*p);
continue;
}
switch(*++p)
{
case 'd':
ival=va_arg(ap,int);
printf("%d",ival);
break;
case 'f':
dval=va_arg(ap,double);
printf("%f",dval);
break;
case 's':
for(sval=va_arg(ap,char *);*sval;sval++)
putchar(*sval);
break;
default:
putchar(*p);
break;
}
}
va_end(ap);
}
int main()
{
int aa=2;
float bb=3.0;
char *pp="abcd";
minprintf("%d\n%f\n%s\n",aa,bb,pp);
return 0;
}
转载于:https://blog.51cto.com/christmas/1620210