欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c语言:模拟实现printf,要求功能:print("ccc\ts!",'b','i','t',"welcome to you");

程序员文章站 2022-03-26 09:28:43
程序: #include #include #include int my_print...
程序:

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
int my_printf(const char *fmt, ...)
{
const char *s;
char c;
va_list ap;//参数列表
va_start(ap, fmt);//取的fmt指针给ap
while (*fmt)
{
/*if (*fmt != ‘s‘ || *fmt != ‘c‘)
{
putchar(*fmt++);
continue;
}*/
switch (*fmt)
{
case 's':
s = va_arg(ap, const char *);//取参数
for (; *s; s++)//通过循环,打印字符串内容
{
putchar(*s);
}
break;
case 'c':
c = va_arg(ap, char);
putchar(c);
break;
default:
putchar(*fmt);
break;
}
fmt++;
}
va_end(ap);//置0
}


int main()
{
char a = 'b';
my_printf("ccc\ts!", 'b', 'i', 't', "welcome to you");
system("pause");
return 0;
}

 

结果:

bit     welcome to you!请按任意键继续. . .