fork download
  1. #include <stdio.h>
  2. #include <stdarg.h>
  3.  
  4. int varfun(int i, ...);
  5.  
  6. int main()
  7. {
  8. printf("Expected=2; answer=%d\n", varfun(1,2));
  9. printf("Expected=5; answer=%d\n", varfun(1,2,3,4,5));
  10. printf("Expected=5; answer=%d <--- it's broken\n", varfun(1,2,-3,4,5));
  11. return 0;
  12. }
  13.  
  14. int varfun(int n_args, ...)
  15. {
  16. va_list ap;
  17. int i, t, k;
  18. k = 1;
  19. va_start(ap, n_args);
  20. for(i=0;i <= va_arg(ap, int);i++){
  21. k+=1;
  22. }
  23. va_end(ap);
  24. return k;
  25. }
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
Expected=2; answer=2
Expected=5; answer=5
Expected=5; answer=2 <--- it's broken