语法问题请教!
#include <stdio.h>
#include <stdlib.h>
struct BiTree
{
char data;
BiTree *lchild,*rchild;
};
struct stack
{
//BiTree var;
BiTree *top, *bottom;
};
bool stackinit(stack s)
{
s.top=s.bottom=(BiTree *)malloc(sizeof(BiTree *)*100);
if(!s.top)
return 0;
return 1;
}
void push(stack s,BiTree * e)
{
*(s.top)=*e;
(s.top)++;
}
struct BiTree pop(stack s)
{
struct BiTree var;
var=*(s.top);
s.top--;
return var;
}
bool stackempty(stack s)
{
if(s.top==s.bottom) return 1;
return 0;
}
/*bool CreateBiTree(BiTree * T)
{
char ch;
scanf(&ch);
if(ch==' ') return 0;
if(!(T=(BiTree *)malloc(sizeof(BiTree)))) return 0;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
return 1;
}*/
bool visit(int Node)
{
printf("%d",Node);
return 1;
}
bool VisitBiTree(struct BiTree * p)
{
// BiTree *p=T;
stack s;
stackinit(s);
push(s,p);
while (p||!stackempty(s)){
while (p)
visit(p->data);
push(s,p);
p=p->lchild;!
}
if (!stackempty(s)){
p=pop(s);
p=p->rchild;
}//end if
}
int main(int argc,char * argv[])
{
struct BiTree * T;
T->data=1;
T->lchild=(BiTree *)malloc(sizeof(BiTree));
T->lchild->data=2;
T->lchild->lchild=NULL;
T->lchild->rchild=NULL;
T->rchild =(BiTree *)malloc(sizeof(BiTree));
T->rchild->data=2;
T->rchild->lchild=NULL;
T->rchild->rchild=NULL;
VisitBiTree(T);
return 0;
}
有n多个unknown character '0xa1'的错误!!!
为什么?