'main' : local function definitions are illegal 到底是什么错误啊,求大神指教!很急,在线等!
#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineMAXSIZE1024typedefchardata...
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define MAXSIZE 1024
typedef char datatype;
typedef struct node{
datatype data;
struct node *Ichild,*rchild;
} bitree;
bitree *root;
bitree*CreatTree(){
char ch;
bitree *Q[MAXSIZE];
int front,rear;
bitree *root,*s;
root=NULL;
front=1,rear=0;
while((ch=getchar())!='#'){
s=NULL;
if(ch!='@')
{
s=(bitree*)malloc(sizeof(bitree));
s->data=ch;
s->Ichild=NULL;
s->rchild=NULL;
}
rear++;
Q[rear]=s;
if(rear==1)
root=s;
else{
if(s&&Q[front]){
if(rear%2==0)
Q[front]->Ichild=s;
else
Q[front]->rchild=s;
}
}
return root;
} //CreatTree
void main()
{
char a;
a=bitree*CreatTree();
printf("%d\n"a);
} 展开
#include <conio.h>
#include <stdlib.h>
#define MAXSIZE 1024
typedef char datatype;
typedef struct node{
datatype data;
struct node *Ichild,*rchild;
} bitree;
bitree *root;
bitree*CreatTree(){
char ch;
bitree *Q[MAXSIZE];
int front,rear;
bitree *root,*s;
root=NULL;
front=1,rear=0;
while((ch=getchar())!='#'){
s=NULL;
if(ch!='@')
{
s=(bitree*)malloc(sizeof(bitree));
s->data=ch;
s->Ichild=NULL;
s->rchild=NULL;
}
rear++;
Q[rear]=s;
if(rear==1)
root=s;
else{
if(s&&Q[front]){
if(rear%2==0)
Q[front]->Ichild=s;
else
Q[front]->rchild=s;
}
}
return root;
} //CreatTree
void main()
{
char a;
a=bitree*CreatTree();
printf("%d\n"a);
} 展开
2013-05-30
展开全部
'main' : local function definitions are illegal 是因为函数嵌套了
CreatTree()少了一半的花括号,在主函数上面加个}
然后最后那句printf("%d\n"a);少了个逗号,改成printf("%d\n",a);
a=bitree*CreatTree();这种调用方式是不对的,调用直接写函数名就行了,改成a=CreatTree();
还有一个,a是字符型,但CreatTree()返回的是bitree类型的指针,改一下a的类型或者改一下CreatTree的返回值类型吧
CreatTree()少了一半的花括号,在主函数上面加个}
然后最后那句printf("%d\n"a);少了个逗号,改成printf("%d\n",a);
a=bitree*CreatTree();这种调用方式是不对的,调用直接写函数名就行了,改成a=CreatTree();
还有一个,a是字符型,但CreatTree()返回的是bitree类型的指针,改一下a的类型或者改一下CreatTree的返回值类型吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询