上代码 良好的代码风格:
#include <stdio.h>
#include <stdlib.h>
#define Ok 1
typedef struct node//二叉树
{
char data;//数据域
struct node *lchild;//左孩子指针
struct node *rchild;//右孩子指针
}tree;
int createtree(tree*t)//按先序建立二叉树
{
char ch;
//printf("输入字符:");
scanf("%c",&ch);
if(ch=='6')
{
t=NULL;//输入是字符 '6'表示退出当前这一层,不再为该层创建左右孩子
}
else
{
t=(tree*)malloc(sizeof(tree));
t->data=ch;
createtree(t->lchild);
createtree(t->rchild);
}
return 0;
}
int pretraverse(tree*t)//先序遍历二叉树
{
if(t!=NULL)
{
printf("%c",t->data);///////////!!!!!!这里在哪个地方出错误了
pretraverse(t->lchild);
pretraverse(t->rchild);
}
return 0;
}
int main()
{
tree*t;
createtree(t);
pretraverse(t);
return 1;
}
#include <stdio.h>
#include <stdlib.h>
#define Ok 1
typedef struct node//二叉树
{
char data;//数据域
struct node *lchild;//左孩子指针
struct node *rchild;//右孩子指针
}tree;
int createtree(tree*t)//按先序建立二叉树
{
char ch;
//printf("输入字符:");
scanf("%c",&ch);
if(ch=='6')
{
t=NULL;//输入是字符 '6'表示退出当前这一层,不再为该层创建左右孩子
}
else
{
t=(tree*)malloc(sizeof(tree));
t->data=ch;
createtree(t->lchild);
createtree(t->rchild);
}
return 0;
}
int pretraverse(tree*t)//先序遍历二叉树
{
if(t!=NULL)
{
printf("%c",t->data);///////////!!!!!!这里在哪个地方出错误了
pretraverse(t->lchild);
pretraverse(t->rchild);
}
return 0;
}
int main()
{
tree*t;
createtree(t);
pretraverse(t);
return 1;
}