trying to find the permutation of a word
this is the code i have and it crashes, cant figure out why, please help
Code:
char * flip(char* str, int first, int second){
char temp = str[first];
str[first] = str[second];
str[second] = temp;
return str;
}
void recursive(char* str, int k){
int i;
if (strlen(str) == k)
printf("%s", str);
else{
for (i = k; i < strlen(str); i++){
str = flip(str, k, i);
recursive(str, k++);
str = flip(str, i, k);
}
}
}
int main(){
char* cat = "cat";
recursive(cat, 0);
return 0;
}