所以我试图递归地构建一个字符串,但我无法让它工作。这就是我的代码的一部分:
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是树的节点,如果分配了节点,则它对应于字母表中的字母。
答案 0 :(得分:0)
该函数将char *
(指向char的指针)作为第二个参数...
void afiseaza(TRNod *nod,char *x,int niv,int w)
...但你给它一个char **
(指向指针的指针):
afiseaza(nod->fiu[i],&x,niv,i+87);
真的,编译器应该对此发出警告,程序员应该注意这些警告。