#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
void my_printf(char *format,...);
int main(int argc,char *argv[])
{
int num=123456;
char str[10]="hello";
char a='b',b='i',c='t';
my_printf("%s %c%c%c\n%d.\n",str,a,b,c,num);
return 0;
}
void my_printf(char *format,...)
{
va_list arg;
char *cur = format;
va_start(arg,format);
while(*cur)
{
switch(*cur)
{
case '%':
break;
case 's':
{
char *str = va_arg(arg,char *);
while(*str)
{
putchar(*str);
str++;
}
}
break;
case 'c':
{
char ch = va_arg(arg,char);
putchar(ch);
}
break;
case 'd':
{
int num = va_arg(arg,int);
char str[6];
char *cur=str;
itoa(num,str,10);//itoa()函数,将数字转换为字符串
while(*cur)
{
putchar(*cur);
cur++;
}
}
break;
default:
{
putchar(*cur);
}
break;
}
cur++;
}
va_end(arg);
}
![answer](https://img-blog.csdn.net/20161113130510890)
自己写属于自己的printf()函数
最新推荐文章于 2023-02-02 16:11:22 发布