fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int c = 0;
  6.  
  7. void foo(char *s1, char *s2, int n) {
  8. int j;
  9. if (*s1 == '\0') {
  10. c++;
  11. if (c == 36690094) {
  12. printf("foo %03d %s\n", c, s2);
  13. exit(0);
  14. }
  15. } else {
  16. for (j = 0; j < n; j++) {
  17. if (s2[j] == '\0') {
  18. s2[j] = *s1;
  19. foo(s1 + 1, s2, n);
  20. s2[j] = '\0';
  21. }
  22. }
  23. }
  24. }
  25.  
  26. int main(void) {
  27.  
  28. char str1[] = "ABCDEFGHIJKLMNO";
  29. char str2[sizeof(str1)] = {0};
  30.  
  31. foo(str1, str2, (int)strlen(str1));
  32.  
  33.  
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 3.87s 2248KB
stdin
Standard input is empty
stdout
foo 36690094 ABCDGFOMJNKILHE