好程序員訓練營
<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;
}