#include<iostream>
#include<cstring>
using namespace std;
char a[20],b[20];
bool c[20];
int n;
void fun(int);
void print();
int main(){
cin>>a;
n=strlen(a);
fun(1);
return 0;
}
void fun(int k){
int i;
for(i=0;i<n;i++){
if(!c[i]){
b[k]=a[i];
c[i]=1;
if(k==n)
print();
else
fun(k+1);
c[i]=0;
}
}
}
void print(){
for(int i=1;i<=n;i++)
cout<<b[i];
cout<<endl;
}
if(k==n)就不会递归了。
没结束,错误代码