#include #include void myprintf(char *format, ...); main() { int i = 454; char c0 = 'a'; char c1 = '\n'; char *s0 = "c = "; char *s1 = "\ti = "; myprintf("scsic", s0, c0, s1, i, c1); return 0; } void myprintf(char *format, ...) { va_list va_ptr; char type; char *s; int i, n, m[10]; va_start(va_ptr, format); for (; type = *format; format++) { switch(type) { case 'c': putchar(va_arg(va_ptr, int)); break; case 'i': n = va_arg(va_ptr, int); for (i = 0; n > 10; i++) { m[i] = n % 10; n /= 10; } m[i] = n; for (; i >= 0; i--) putchar(m[i] + '0'); break; case 's': s = va_arg(va_ptr, char *); for (i = 0; s[i] != '\0'; i++) { putchar(s[i]); } break; } } va_end(va_ptr); }