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; }