fork(1) download
  1. #include <stdio.h>
  2.  
  3. typedef typeof(void (*)(int i[])) callback;
  4.  
  5. void bigfor(int level, int levels, int i[], int size, callback cb) {
  6. if (level == levels) {
  7. cb(i);
  8. } else {
  9. for(i[level] = 0; i[level] < size; ++i[level]) {
  10. bigfor(level + 1, levels, i, size, cb);
  11. }
  12. }
  13. }
  14.  
  15. void kukarek(int i[]) {
  16. printf("Koko! %d, %d, %d\n", i[0], i[1], i[2]);
  17. }
  18.  
  19. int main() {
  20. int i[3];
  21. bigfor(0, 3, i, 5, &kukarek);
  22. return 0;
  23. }
  24.  
Success #stdin #stdout 0s 4500KB
stdin
Standard input is empty
stdout
Koko! 0, 0, 0
Koko! 0, 0, 1
Koko! 0, 0, 2
Koko! 0, 0, 3
Koko! 0, 0, 4
Koko! 0, 1, 0
Koko! 0, 1, 1
Koko! 0, 1, 2
Koko! 0, 1, 3
Koko! 0, 1, 4
Koko! 0, 2, 0
Koko! 0, 2, 1
Koko! 0, 2, 2
Koko! 0, 2, 3
Koko! 0, 2, 4
Koko! 0, 3, 0
Koko! 0, 3, 1
Koko! 0, 3, 2
Koko! 0, 3, 3
Koko! 0, 3, 4
Koko! 0, 4, 0
Koko! 0, 4, 1
Koko! 0, 4, 2
Koko! 0, 4, 3
Koko! 0, 4, 4
Koko! 1, 0, 0
Koko! 1, 0, 1
Koko! 1, 0, 2
Koko! 1, 0, 3
Koko! 1, 0, 4
Koko! 1, 1, 0
Koko! 1, 1, 1
Koko! 1, 1, 2
Koko! 1, 1, 3
Koko! 1, 1, 4
Koko! 1, 2, 0
Koko! 1, 2, 1
Koko! 1, 2, 2
Koko! 1, 2, 3
Koko! 1, 2, 4
Koko! 1, 3, 0
Koko! 1, 3, 1
Koko! 1, 3, 2
Koko! 1, 3, 3
Koko! 1, 3, 4
Koko! 1, 4, 0
Koko! 1, 4, 1
Koko! 1, 4, 2
Koko! 1, 4, 3
Koko! 1, 4, 4
Koko! 2, 0, 0
Koko! 2, 0, 1
Koko! 2, 0, 2
Koko! 2, 0, 3
Koko! 2, 0, 4
Koko! 2, 1, 0
Koko! 2, 1, 1
Koko! 2, 1, 2
Koko! 2, 1, 3
Koko! 2, 1, 4
Koko! 2, 2, 0
Koko! 2, 2, 1
Koko! 2, 2, 2
Koko! 2, 2, 3
Koko! 2, 2, 4
Koko! 2, 3, 0
Koko! 2, 3, 1
Koko! 2, 3, 2
Koko! 2, 3, 3
Koko! 2, 3, 4
Koko! 2, 4, 0
Koko! 2, 4, 1
Koko! 2, 4, 2
Koko! 2, 4, 3
Koko! 2, 4, 4
Koko! 3, 0, 0
Koko! 3, 0, 1
Koko! 3, 0, 2
Koko! 3, 0, 3
Koko! 3, 0, 4
Koko! 3, 1, 0
Koko! 3, 1, 1
Koko! 3, 1, 2
Koko! 3, 1, 3
Koko! 3, 1, 4
Koko! 3, 2, 0
Koko! 3, 2, 1
Koko! 3, 2, 2
Koko! 3, 2, 3
Koko! 3, 2, 4
Koko! 3, 3, 0
Koko! 3, 3, 1
Koko! 3, 3, 2
Koko! 3, 3, 3
Koko! 3, 3, 4
Koko! 3, 4, 0
Koko! 3, 4, 1
Koko! 3, 4, 2
Koko! 3, 4, 3
Koko! 3, 4, 4
Koko! 4, 0, 0
Koko! 4, 0, 1
Koko! 4, 0, 2
Koko! 4, 0, 3
Koko! 4, 0, 4
Koko! 4, 1, 0
Koko! 4, 1, 1
Koko! 4, 1, 2
Koko! 4, 1, 3
Koko! 4, 1, 4
Koko! 4, 2, 0
Koko! 4, 2, 1
Koko! 4, 2, 2
Koko! 4, 2, 3
Koko! 4, 2, 4
Koko! 4, 3, 0
Koko! 4, 3, 1
Koko! 4, 3, 2
Koko! 4, 3, 3
Koko! 4, 3, 4
Koko! 4, 4, 0
Koko! 4, 4, 1
Koko! 4, 4, 2
Koko! 4, 4, 3
Koko! 4, 4, 4