fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char **argv) {
  6. if (argc != 2) {
  7. fprintf(stderr, "argc must be 2\n");
  8. return 1;
  9. }
  10.  
  11. const size_t len = strlen(argv[1]);
  12. char * const s = malloc(len * 1000 + 1);
  13. if (!s) {
  14. fprintf(stderr, "too long string\n");
  15. return 1;
  16. }
  17.  
  18. for (char *t = s; t < s + len * 1000; t += len)
  19. strcpy(t, argv[1]);
  20.  
  21. size_t c[4] = { 0 };
  22. for (char *t = s; *t; ++t) {
  23. switch (*t) {
  24. case 'o': ++c[0]; break;
  25. case 'd': c[1] += c[0]; break;
  26. case 'a': c[2] += c[1]; break;
  27. case 'i': c[3] += c[2]; break;
  28. }
  29. }
  30. free(s);
  31. printf("%zu\n", c[3]);
  32. }
  33.  
Runtime error #stdin #stdout #stderr 0s 4360KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
argc must be 2