我有一个这样的程序:
#include <stdio.h>
char * rekursif(int m, int n, char angka[100], int j){
int i;
char array[100][100];
for(i=m; i<=n; i++){
char angka2[100];
strcpy(angka2,angka);
sprintf(array[j], "%s %d", angka, i);
sprintf(angka, "%s %d", angka, i);
rekursif(i+1,n,angka2,j+1);
}
if(i>n){
return (char *)array;
}
}
int main(){
char *p;
int i;
char str[100];
p = rekursif(1,3,str,0);
for(i=0;i<sizeof(p);i++){
printf("%s",p[i]);
}
return 0;
}
我期望的输出程序: 1 2 3 23 12 123
问题是: 1.如何在递归函数中返回char数组? 2.如何在主程序中初始化动态大小数组(p)与递归函数中数组的大小一样大?
谢谢你:)