📄 stdarg.c
字号:
#include <stdarg.h>struct node { int a[4]; } x = {1,2,3,4};print(char *fmt, ...);main() { print("test 1\n"); print("test %s\n", "2"); print("test %d%c", 3, '\n'); print("%s%s %w%c", "te", "st", 4, '\n'); print("%s%s %f%c", "te", "st", 5.0, '\n'); print("%b %b %b %b %b %b\n", x, x, x, x, x, x); return 0;}print(char *fmt, ...) { va_list ap; va_start(ap, fmt); for (; *fmt; fmt++) if (*fmt == '%') switch (*++fmt) { case 'b': { struct node x = va_arg(ap, struct node); printf("{%d %d %d %d}", x.a[0], x.a[1], x.a[2], x.a[3]); break; } case 'c': printf("%c", va_arg(ap, char)); break; case 'd': printf("%d", va_arg(ap, int)); break; case 'w': printf("%x", va_arg(ap, short)); break; case 's': printf("%s", va_arg(ap, char *)); break; case 'f': printf("%f", va_arg(ap, double)); break; default: printf("%c", *fmt); break; } else printf("%c", *fmt); va_end(ap);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -