二叉排序树的创建
创建二叉排序树,用数组接收并保存字符,请帮忙修改一下下面代码:
void CreateBST(BiTree &T){
int i;
char ch, a[i];
T=NULL;
scanf("%s",&a);
while(ch!='\0'){
InsertBST(T,a[i]);
}
}
错误提示为:
E:\各种软件\VC精装版\MyProjects\aa\aa.cpp(45) : error C2057: expected constant expression
E:\各种软件\VC精装版\MyProjects\aa\aa.cpp(45) : error C2466: cannot allocate an array of constant size 0
E:\各种软件\VC精装版\MyProjects\aa\aa.cpp(45) : error C2133: 'a' : unknown size
[最优解释]
int i;//i没有初始化,当然你可以不初始化,但我在整个代码里都没有看到给i赋初值
char ch, a[i];//数组大小必须在代码中直接给出,不能使用i这种变量;况且i连初值都没有
T=NULL;//引用不能更改引用对象,顺便看了一眼,这是C版,C语言没有引用
scanf("%s",&a);读入字符串到字符数组,不需要取地址,数组名就等于数组首元素地址
while(ch!='\0'){//在一个循环体内不更改循环判断条件(ch在循环内不变),这个循环永不结束
InsertBST(T,a[i]);//a和i都不变,这个循环不仅是死循环,而且一直在执行完全相同的动作
我从来不提供代码,要代码请等待其他好人
建议楼主从头复习——或许该说是从头学习——基础知识
[其他解释]
scanf("%s",&a);
&去了
[其他解释]
这个。。
int i;
char a[i];
楼主看来写代码不多~
[其他解释]
++
[其他解释]
去了以后还是有错,而且错误还是一样的。
[其他解释]
的确是个菜鸟,什么都不会,本来这个对高手来说是很简单的一段代码,可是我却纠结老半天还是没有头绪,很是头疼啊,所以请各位高手多多指点啊!
[其他解释]
去掉以后还是一样的错误。
[其他解释]
怎么感觉代码那么难。