如何在c中递归函数返回char数组

时间:2014-05-28 15:03:40

标签: c arrays recursion

我有一个这样的程序:

#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)与递归函数中数组的大小一样大?

谢谢你:)

0 个答案:

没有答案