#include <stdio.h>
#include <malloc.h>
#define maxsize 100
typedef char ElemType;
typedef struct node
{
ElemType data;
struct node *lchild,*rchild;
}BiNode,*BiTree;
BiTree CreatBiTree()
{
BiTree T;
ElemType x;
scanf("%c",&x);
if(x=='#') T=NULL;
else
{
T=(BiTree)malloc(sizeof(BiNode));
T->data=x;
T->lchild=CreatBiTree();
T->rchild=CreatBiTree();
}
return T;
}
int Similarity(BiTree TA,BiTree TB)
{
int x,y;
if(TA&&TB)
{
x=Similarity(TA->lchild,TB->lchild);
y=Similarity(TA->rchild,TB->rchild);
if(x==1&&y==1) return 1;
else return 0;
}
else if((TA==NULL&&TB!=NULL)||(TA!=NULL&&TB==NULL)) return 0;
else return 1;
}
void main()
{
BiTree Ta,Tb;
int x;
Ta=CreatBiTree();
getchar();
Tb=CreatBiTree();
x=Similarity(Ta,Tb);
if(x==1) printf("True");
else printf("False");
}
在ubuntu下用codeblocks编的,显示一个错误:main must return 'int'
于是,我改成int main() return 0;
可执行时,出现了sh:Synax error: word unexpected (expecting ")")这样一句话,最今以经不只一次碰到
这个程序在windows下没出现问题...