in order to know what it does
Code:void what(int n, int limit, int* answer, int place){ int i; if (n > 0) for (i=min(n,limit); i>0; i--){ answer[place]=i; answer[place+1]=-1; what(n-i, i, answer, place+1); answer[place]=-1; } else{ for (i=0; answer[i]!=-1; i++) printf("%d ", answer[i]); printf("\n"); } }