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!请按任意键继续. . .
上一篇: C语言中移位、逻辑运算符的简单应用
下一篇: ASP中数据库调用中常见错误的现象和解决