说明语法错误这是创建二叉树的实现函数void BuildBiTree(BSTree &T,char *s,int i){
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 05:05:19
说明语法错误
这是创建二叉树的实现函数
void BuildBiTree(BSTree &T,char *s,int i)
{
char stack[20],base,top;
int left,middle,right;
base=top=0;
if(*s)
{
T=(BSTree)malloc(sizeof(BSTNode));
T->data=s[i];
T->lchild=NULL;
T->rchild=NULL;
if(s[i+1]!='\0' && s[i+1]!=',' && s[i+1]!=')')
{
left=i+2;
if(s[left]!='#')
BuildBiTree(T->lchild,s,left);
middle=i+3;
if(s[middle]=='(')
stack[top++]=s[middle++];
for(;top!=base && s[middle]!='\0';middle++)
{
if(s[middle]=='(')
stack[top++]=s[middle];
if(s[middle]==')')
top--;
}
right=++middle;
if(s[right]!='#')
BuildBiTree(T->rchild,s,right);
}
}
}
这里是void BuildBiTree(BSTree &T,char *s,int
我用的是win tc ,是不是win tc不支持void BuildBiTree(BSTree &T,char *s,int i)啊
只要把变量的“&”去掉就没问题,但去掉了就结果错误啊
ps:这不是主函数
这是创建二叉树的实现函数
void BuildBiTree(BSTree &T,char *s,int i)
{
char stack[20],base,top;
int left,middle,right;
base=top=0;
if(*s)
{
T=(BSTree)malloc(sizeof(BSTNode));
T->data=s[i];
T->lchild=NULL;
T->rchild=NULL;
if(s[i+1]!='\0' && s[i+1]!=',' && s[i+1]!=')')
{
left=i+2;
if(s[left]!='#')
BuildBiTree(T->lchild,s,left);
middle=i+3;
if(s[middle]=='(')
stack[top++]=s[middle++];
for(;top!=base && s[middle]!='\0';middle++)
{
if(s[middle]=='(')
stack[top++]=s[middle];
if(s[middle]==')')
top--;
}
right=++middle;
if(s[right]!='#')
BuildBiTree(T->rchild,s,right);
}
}
}
这里是void BuildBiTree(BSTree &T,char *s,int
我用的是win tc ,是不是win tc不支持void BuildBiTree(BSTree &T,char *s,int i)啊
只要把变量的“&”去掉就没问题,但去掉了就结果错误啊
ps:这不是主函数
你的问题就下面四点:
1.首先应该注意,C语言中没有引用,C++中才有引用.
2.如果你要使用引用,就将文件保存成.cpp的C++源文件,并用C++编译器来编译.
3.如果你要使用C语言编译器,就必须使用C语言的语法,不能用引用,但可以使用指针,并且应该使用二级指针(BSTree **); 如果要使用一级指针,返回值就不能用void,必须用BSTree *类型.否则,程序会出现让你有种想把自己头发揪掉冲动的错误.
4.TC我没有用过,不清楚是否支持C++,很可能是只支持C程序的.你可以使用dev c++ 或者 VC++ 来编译C++程序.
我想我说的非常清楚了,如果还有问题,欢迎交流:)
1.首先应该注意,C语言中没有引用,C++中才有引用.
2.如果你要使用引用,就将文件保存成.cpp的C++源文件,并用C++编译器来编译.
3.如果你要使用C语言编译器,就必须使用C语言的语法,不能用引用,但可以使用指针,并且应该使用二级指针(BSTree **); 如果要使用一级指针,返回值就不能用void,必须用BSTree *类型.否则,程序会出现让你有种想把自己头发揪掉冲动的错误.
4.TC我没有用过,不清楚是否支持C++,很可能是只支持C程序的.你可以使用dev c++ 或者 VC++ 来编译C++程序.
我想我说的非常清楚了,如果还有问题,欢迎交流:)
说明语法错误这是创建二叉树的实现函数void BuildBiTree(BSTree &T,char *s,int i){
void fun(char *s[],int n) { char *t;int i,j for(i=0;i
这个程序有什么问题?#include/*void strcpy(char *s,char *t){int i=0;whi
#include #include void main() { char ch; int a,s,k,t; while(
编写一个函数 void sortLine(char*line[],int n); 参数line是一个指向串的指针数组,它
偶数字母换成大写.#include void chg(char *s){int i,n=0;char *p=s;whil
#include#include void main(){ int a,i;char s[20];printf("Inp
哪里错了啊!void func(char *s,char *t) /* s是给定字符串的起始地址,t是求得s的逆串的起始
void main() {union { int k; char i[2]; }*s,a; s=&a; s->i[0]=
这段函数看不懂啊void zh(int a[][3]){int i,j,t;for(i=0;i
void f(char **p) { char *t; t=(p+=sizeof(int))[-1]; printf("
void main( ) { char *s="12134211"; int v[4]={0,0,0,0},k,i; f