为啥我的程序不能运行

#include<stdlib.h>#include<stdio.h>typedefcharBTElemType;//二叉树的数据元素类型//二叉树结点类型typedef... #include <stdlib.h>
#include <stdio.h>
typedef char BTElemType; //二叉树的数据元素类型
//二叉树结点类型
typedef struct BiTNode{
BTElemType data;
struct BiTNode *lchild, *rchild; /*左右孩子指针*/
}BiTNode, *BiTree;
//以下为二叉树链式存储结构的操作函数
//创建二叉树(先序遍历方式)
char ch;
#define OVERFLOW 0

void createbt (BiTree &bt) {
//以下代码由学生编写
//按先序输入二叉树结点值,递归创建二叉链表。当输入字符'#'时代表空。
//以上代码由学生编写
scanf(&ch);
if(ch=='#')bt=NULL;
else{
if(!(bt=(BiTNode*)malloc(sizeof(BiTNode))))exit(OVERFLOW);
bt->data=ch;
createbt(bt->lchild);
createbt(bt->rchild);
}

}
//结点访问
void visit(BiTree bt) {
printf("%5c", bt->data);
}
//先序遍历
void PreOrder(BiTree bt) {
if(bt!=NULL) {
visit(bt);
PreOrder(bt->lchild);
PreOrder(bt->rchild);
}
}
//中序遍历
void InOrder(BiTree bt) {
//以下代码由学生编写
//按中序递归访问二叉树结点值并显示
//以上代码由学生编写
if(bt!=NULL){
visit(bt->lchild);
InOrder(bt);
InOrder(bt->rchild);
}

}
//后序遍历
void PostOrder(BiTree bt) {
//以下代码由学生编写
//按后序递归访问二叉树结点值并显示
//以上代码由学生编写
if(bt!=NULL){
visit(bt->lchild);
PostOrder(bt->rchild);
PostOrder(bt);
}

}
void main(void) {
BiTree t;
printf("请先序输入二叉树各结点值(用'#'表示当前结点值为空):\n");
createbt(t);
printf("\n二叉树先序遍历结果为:\n");
PreOrder(t);
printf("\n二叉树中序遍历结果为:\n");;
InOrder(t);
printf("\n二叉树后序遍历结果为:\n");
PostOrder(t);
printf("\n");
}
展开
 我来答
baldeagle110
2018-06-09 · 超过67用户采纳过TA的回答
知道小有建树答主
回答量:144
采纳率:86%
帮助的人:70.1万
展开全部
加上头文件#include "stdafx.h"就可以了.
追问
为啥,本来没错现在有了
追答

这里先说明一下,我用的是VC6测试你的程序,报错信息写的是查找预编译头文件时意外结束,说明是头文件出问题了,我就把基本的stdafx.h文件加上,结果就正确了.我不知道你用的什么,还有就是你第70句多了一个;号,但是因为不影响什么,所以我一开始也就没有管这个.下面是我测试的图

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式