1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <stdio.h> #include <stdlib.h> #include <stdarg.h> void minprintf(char *fmt, ...) { va_list ap; char *p, *sval; int ival; double dval; va_start(ap, fmt); for (p = fmt; *p; p++) { if (*p != '%') { putchar(*p); continue; } switch (*p++) { case 'd': ival = va_arg(ap, int); printf("%d", ival); break; case 'f': dval = va_arg(ap, double); printf("%f", dval); break; case 's': for (sval = va_arg(ap, char *); *sval; sval++) putchar(*sval); break; default: putchar(*p); break; } } va_end(ap); } int main(void) { minprintf("aaaaaaa%\0dddd"); return 0; } |
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0ZGFyZy5oPgoKICAgIHZvaWQgbWlucHJpbnRmKGNoYXIgKmZtdCwgLi4uKQogICAgewogICAgCXZhX2xpc3QgYXA7CiAgICAJY2hhciAqcCwgKnN2YWw7CiAgICAJaW50IGl2YWw7CiAgICAJZG91YmxlIGR2YWw7CiAgICAKICAgIAl2YV9zdGFydChhcCwgZm10KTsKICAgIAlmb3IgKHAgPSBmbXQ7ICpwOyBwKyspIHsKICAgIAkJaWYgKCpwICE9ICclJykgewogICAgCQkJcHV0Y2hhcigqcCk7CiAgICAJCQljb250aW51ZTsKICAgIAkJfQogICAgCQlzd2l0Y2ggKCpwKyspIHsKICAgIAkJY2FzZSAnZCc6CiAgICAJCQlpdmFsID0gdmFfYXJnKGFwLCBpbnQpOwogICAgCQkJcHJpbnRmKCIlZCIsIGl2YWwpOwogICAgCQkJYnJlYWs7CiAgICAJCWNhc2UgJ2YnOgogICAgCQkJZHZhbCA9IHZhX2FyZyhhcCwgZG91YmxlKTsKICAgIAkJCXByaW50ZigiJWYiLCBkdmFsKTsKICAgIAkJCWJyZWFrOwogICAgCQljYXNlICdzJzoKICAgIAkJCWZvciAoc3ZhbCA9IHZhX2FyZyhhcCwgY2hhciAqKTsgKnN2YWw7IHN2YWwrKykKICAgIAkJCQlwdXRjaGFyKCpzdmFsKTsKICAgIAkJCWJyZWFrOwogICAgCQlkZWZhdWx0OgogICAgCQkJcHV0Y2hhcigqcCk7CiAgICAJCQlicmVhazsKICAgIAkJfQogICAgCX0KICAgIAl2YV9lbmQoYXApOwogICAgfQogICAgCiAgICBpbnQgbWFpbih2b2lkKQogICAgewogICAgCW1pbnByaW50ZigiYWFhYWFhYSVcMGRkZGQiKTsKICAgIAlyZXR1cm4gMDsKICAgIH0K
-
upload with new input
-
result: Success time: 0.02s memory: 1720 kB returned value: 0
aaaaaaa dddd


