fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void dosomething(size_t c, char* s);
  6. const char *dummy = "1234567890";
  7. const char* inlet = "_";
  8.  
  9. int main(void) {
  10. for(int i = 0; i < 10; i++) {
  11. char *s = calloc(11,1);
  12. strcpy(s, dummy);
  13. dosomething(1, s);
  14. free(s);
  15. }
  16. return 0;
  17. }
  18.  
  19. void dosomething(size_t c, char* s){
  20. printf("%s\n", s);
  21.  
  22. if (c < 10) {
  23. char *ns = calloc(11,1);
  24. strncpy(ns, s, c -1);
  25. strncat(ns, inlet, 1);
  26. strcat(ns, &s[c]);
  27. dosomething(c+1, ns);
  28. free(ns);
  29. }
  30. }
Success #stdin #stdout 0s 2244KB
stdin
Standard input is empty
stdout
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0
1234567890
_234567890
__34567890
___4567890
____567890
_____67890
______7890
_______890
________90
_________0