#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!請按任意鍵繼續. . .