#include<iostream>
using namespace std;
void permutation(char* str, char* begin){
if (*begin == '\0')
cout << str<<endl;
else{
for (char* ch = begin; *ch != '\0'; ch++){
char tmp = *ch;
*ch = *begin;
*begin = tmp;
permutation(str, begin + 1);
*begin = *ch;
*ch = tmp;
}
}
}
int main(){
char str[] = "abc";
permutation(str, str);
}
using namespace std;
void permutation(char* str, char* begin){
if (*begin == '\0')
cout << str<<endl;
else{
for (char* ch = begin; *ch != '\0'; ch++){
char tmp = *ch;
*ch = *begin;
*begin = tmp;
permutation(str, begin + 1);
*begin = *ch;
*ch = tmp;
}
}
}
int main(){
char str[] = "abc";
permutation(str, str);
}