首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

二叉排序树的创造

2012-12-17 
二叉排序树的创建创建二叉排序树,用数组接收并保存字符,请帮忙修改一下下面代码:void CreateBST(BiTree &T

二叉排序树的创建
创建二叉排序树,用数组接收并保存字符,请帮忙修改一下下面代码:
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];
楼主看来写代码不多~
[其他解释]

引用:
scanf("%s",&a);
&去了


++
[其他解释]
去了以后还是有错,而且错误还是一样的。
[其他解释]
引用:
这个。。
int i;
char a[i];
楼主看来写代码不多~


的确是个菜鸟,什么都不会,本来这个对高手来说是很简单的一段代码,可是我却纠结老半天还是没有头绪,很是头疼啊,所以请各位高手多多指点啊!
[其他解释]
去掉以后还是一样的错误。
引用:
scanf("%s",&a);
&去了

[其他解释]
怎么感觉代码那么难。
引用:
int i;//i没有初始化,当然你可以不初始化,但我在整个代码里都没有看到给i赋初值
  char ch, a[i];//数组大小必须在代码中直接给出,不能使用i这种变量;况且i连初值都没有
T=NULL;//引用不能更改引用对象,顺便看了一眼,这是C版,C语言没有引用
  scanf("%s",&a);读入字符串到字符数组,不需要取地址,数组名就等于数组首元素地址
while(……

热点排行