关于二叉树的编程错误,大家帮忙调试看看
已知字符序列为ABD000CE0G00FH00J00\0各字符是按先根序列排列的其中字符D后的00的意义是字符D的结点无左右子树。同理,字符E后0的意义是字符E的结点无左子树但有右子树G,编程建立二叉树(双重链),并按中序遍历输出二叉树#include<stdio.h>
#include<stdlib.h>
typedef struct node
{ char data;
struct node *llink,*rlink;
}TNODE;
int i=0;
TNODE *Save(char *m[],TNODE *t)
{
if(m[i]!='\0'){
if(m[i]!=0){
t=(TNODE *)malloc(sizeof(TNODE));
t->data=m[i];
Save(m[++i],t->llink);
Save(m[++i],t->rlink);
}
else t=NULL;
}
return(t);
}
void inorder(TNODE *h)
{ TNODE *s[30];
int top=0;
do
{ while(h!=NULL)
{ s[top++]=h;
h=h->llink;
}
h=s[--top];printf("%c",h->data);
h=h->rlink;
}while((top!=0)||(h!=NULL));
printf("\n");
}
void main(){
char *m[20];
printf("please input a string:\n");
scanf("%s",m);
TNODE *t=NULL;
TNODE *k=NULL;
k=Save(m,t);
inorder(k);
getch();
}
警告 no1.c 13: 不可移动的指针(地址常数)赋值在 Save 函数中
警告 no1.c 14: 指针转换后指向其它类型在 Save 函数中
警告 no1.c 15: 指针转换后指向其它类型在 Save 函数中
错误 no1.c 38: typedef 符号使用不当在 main 函数中
错误 no1.c 38: 未定义的符号't'在 main 函数中
错误 no1.c 39: typedef 符号使用不当在 main 函数中
错误 no1.c 39: 未定义的符号'k'在 main 函数中
警告 no1.c 40: 不可移动的指针(地址常数)转换在 main 函数中
警告 no1.c 40: 不可移动的指针(地址常数)赋值在 main 函数中
警告 no1.c 41: 不可移动的指针(地址常数)转换在 main 函数中
[[it] 本帖最后由 天之蓝 于 2008-10-30 12:41 编辑 [/it]]