模拟实现printf("hello %s%c %d\n","worl", 'd', 1234);
void PutInt(int num)
{if (num > 9){PutInt(num / 10);}putchar(num % 10 + '0');}
int my_printf(const char* format,...)
{assert(format);va_list arg;va_start(arg, format);const char* start = format;while (*start != '\0'){if (*start == '%'){start++;switch (*start){case 'c':{char c = va_arg(arg, char);putchar(c);break; }case 'd':{int data = va_arg(arg, int);PutInt(data);break;}case 's':{char *s = va_arg(arg, char*);while (*s){putchar(*s);s++;}break;} default:break;}}else{putchar(*start);}start++;}va_end(arg);return 0;
}void test()
{my_printf("hello %s%c %d\n","worl", 'd', 1234);
}
int main()
{test();system("pause");return 0;
}