fork(2) download
  1. #include <stdio.h>
  2. #include <stdarg.h>
  3.  
  4. void printf0( const char* format, ... ) {
  5. va_list args;
  6. va_start(args, format);
  7. vprintf(format, args);
  8. va_end( args );
  9. }
  10.  
  11. void printf1(const char* format,...) {
  12. va_list args;
  13. va_start(args, format);
  14.  
  15. va_list args2;
  16. va_copy(args2, args);
  17. char buf[vsnprintf(NULL, 0, format, args) + 1];
  18.  
  19. vsnprintf(buf, sizeof buf, format, args2);
  20. printf(buf);
  21. va_end(args);
  22. va_end(args2);
  23. }
  24.  
  25. int main()
  26. {
  27. printf0("Hello, %d!\n", 15);
  28. printf1("Hello, %d!\n", 15);
  29. return 0;
  30. }
Success #stdin #stdout 0s 2168KB
stdin
Standard input is empty
stdout
Hello, 15!
Hello, 15!