#include<iostream>
#include<vector>
using namespace std;
void Combination(char* string, int number, vector<char>& result)
{
if(number == 0)
{
vector<char>::iterator iter = result.begin();
for(; iter < result.end(); ++ iter)
printf("%c", *iter);
printf("\n");
return;
}
if(*string == '\0')
return;
result.push_back(*string);
Combination(string + 1, number - 1, result);
result.pop_back();
Combination(string + 1, number, result);
}
void combination(char* string)
{
if(string == NULL)
return;
int length = strlen(string);
vector<char> result;
for(int i = 1; i <= length; ++ i)
{
Combination(string, i, result);
}
}
int main()
{
char *str ="abcd";
combination(str);
getchar();
return 0;
}
亲高手一下哪里不对! 一直提示warning..不清楚是哪里出错
不是错误 只是提醒你字符串不能修改 还有头文件没包含全
#include<iostream>