20041214-1.c
来自「用于进行gcc测试」· C语言 代码 · 共 69 行
C
69 行
typedef long unsigned int size_t;extern void abort (void);extern char *strcpy (char *, const char *);extern int strcmp (const char *, const char *);typedef __builtin_va_list va_list;static const char null[] = "(null)";int g (char *s, const char *format, va_list ap){ const char *f; const char *string; char spec; static const void *step0_jumps[] = { &&do_precision, &&do_form_integer, &&do_form_string, }; f = format; if (*f == '\0') goto all_done; do { spec = (*++f); goto *(step0_jumps[2]); /* begin switch table. */ do_precision: ++f; __builtin_va_arg (ap, int); spec = *f; goto *(step0_jumps[2]); do_form_integer: __builtin_va_arg (ap, unsigned long int); goto end; do_form_string: string = __builtin_va_arg (ap, const char *); strcpy (s, string); /* End of switch table. */ end: ++f; } while (*f != '\0');all_done: return 0;}voidf (char *s, const char *f, ...){ va_list ap; __builtin_va_start (ap, f); g (s, f, ap); __builtin_va_end (ap);}intmain (void){ char buf[10]; f (buf, "%s", "asdf", 0); if (strcmp (buf, "asdf")) abort (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?