69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void p(char **s, int n)
{
int sk[100], t=0, i;
while (t >= 0) {
if (t == n) {
for (i=0; i<n; i++)
putchar(s[i][sk[i]]);
putchar('\n');
t--;
while (t>=0 && !s[t][sk[t]+1])
t--;
if (t>=0)
sk[t++]++;
} else
sk[t++]=0;
}
}
int main()
{
char *s[]={"ab", "cd", "gh"};
p(s, 3);
}
#include <stdio.h>
char *array[] = {"ab","1","24","3",NULL};
char stack[1000];
char top = -1;
void print_array(char **array){
char *curr = *array;
if(curr == NULL){
printf("%s\n",stack);
return;
}
top++;
while(*curr){
/*printf("%c",*curr);*/
stack[top] = *curr;
print_array(array+1);
stack[top] = '\0';
curr++;
}
top--;
}
int main(){
print_array(array);
getch();
return 0;
}
#include <stdio.h>
char* str[] =
{
"abc", "de", "f", "gh"
};
void show(char* result, int curr)
{
if (curr == 4) puts(result);
else
{
int i;
for (i = 0; str[curr][i]; ++i)
{
result[curr] = str[curr][i];
show(result, curr+1);
}
}
}
int main()
{
char result[16] = {0};
show(result, 0);
return 0;
}