该问题答案如下:
#include<iostream>
using namespace std;
void f(string s,int k){
if(k == s.length()){
cout<<s<<endl;
}
for(int i = k; i < s.length(); i++){
char a = s[k]; s[k] = s[i]; s[i] = a;//试探
f(s,k+1);
char b = s[k]; s[k] = s[i]; s[i] = b;//回溯
}
}
int main(){
string s = "abc";
f(s,0);
}