#include <stdio.h>
#include <stdlib.h>
int top;
char stack[100];
void PrintCombination(char* charList,int listSize,int pickUpNum,int len)
{
int i;
if(len==pickUpNum)
{
printf("%s\n",stack);
goto ret;
}
for(i=0;i<listSize;i++)
{
stack[++top]=charList[i];
PrintCombination(&charList[i]+1,(listSize-i)-1,pickUpNum,len+1);
}
ret:
stack[top--]=0;
return;
}
int main(void) {
memset(stack,0,sizeof(stack));
top=-1;
PrintCombination("abcd",4,3,0);
return 0;
}