递归构建一个字符串

时间:2017-05-09 16:53:31

标签: c string recursion

所以我试图递归地构建一个字符串,但我无法让它工作。这就是我的代码的一部分:

void afiseaza(TRNod *nod,char *x,int niv,int w)
{

    if(nod==NULL)
        return;
    int i;

    *(x+niv)=w;
    *(x+niv+1)='\0';
    // x[niv]=w,x[niv+1]='\0'

    if(nod->sf==1)
        printf("%s\n %d \n",x,niv);
    niv++;

    for(i=0;i<36;i++)
    {
        afiseaza(nod->fiu[i],&x,niv,i+87);
    }

}

基本上TRNod是树的节点,如果分配了节点,则它对应于字母表中的字母。

1 个答案:

答案 0 :(得分:0)

该函数将char *(指向char的指针)作为第二个参数...

void afiseaza(TRNod *nod,char *x,int niv,int w)

...但你给它一个char **(指向指针的指针):

afiseaza(nod->fiu[i],&x,niv,i+87);

真的,编译器应该对此发出警告,程序员应该注意这些警告。