问题描述:1.模拟实现printf函数,可以在屏幕上输出my_printf("scccc\n","change",‘w‘,‘o‘,‘r‘,‘l‘,‘d‘,‘!‘);
代码实现:
#include <stdio.h> #include <stdarg.h> void my_printf(char *format,...) { va_list va_arg; /* **准备访问可变参数 */ va_start(va_arg,format);//定位到format的后一个参数 while (*format) { switch(*format) { case ‘s‘: { char *pc=va_arg(va_arg,char *); while(*pc) { putchar(*pc); pc++; } break; } case ‘c‘: { char ch=va_arg(va_arg,char); putchar(ch); break; } default: putchar(*format); break; } format++; } /* **完成处理可变参数 */ va_end(format); } int main() { my_printf("sccccccc\n","change",‘ ‘,‘w‘,‘o‘,‘r‘,‘l‘,‘d‘,‘!‘); return 0; }
结果是:
时间: 2024-10-12 19:54:15