C++程序运行到一半exe停止工作是怎么回事,求大神帮忙解答

qq_41099379 2017-11-18 04:03:45
#include<iostream.h>
#define MAX 100
#define CreatBiTree
typedef struct BiNode{
char data;
struct BiNode*lchild,*rchild;
}BiNode,*BiTree;
char CreateBiTree(BiTree&T)
{char ch;
cin>>ch;
if (ch=='#')
T=NULL;
else{
T=new BiNode;
T->data=ch;
CreatBiTree (T->lchild);
CreatBiTree (T->rchild);
}
return 1;
}
void PreOrder(BiTree T)
{
if (T)
{
cout<<T->data;
PreOrder (T->lchild);
PreOrder (T->rchild);
}
}
void InOrder(BiTree T)
{
if (T)
{
InOrder (T->lchild);
cout<<T->data;
InOrder (T->rchild);
}
}
void PostOrder(BiTree T)
{
if (T)
{
PostOrder (T-> lchild);
PostOrder (T-> rchild);
cout<<T->data;
}
}
void main()
{int count=0,node=0;
BiTree T;
cout<<"请输入字符:";
CreateBiTree(T);
cout<<"二叉树创建成功"<<endl;
cout<<"前序遍历输出:";
PreOrder(T);
cout<<endl;
cout<<"中序遍历输出:";
InOrder(T);
cout<<endl;
cout<<"后序遍历输出:";
PostOrder(T);
cout<<endl;
}
...全文
372 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-11-21
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
药丸啊 2017-11-18
  • 打赏
  • 举报
回复
你设断点,自己调试一下,看运行到那个地方程序停止了,然后修改,这个技能是必须要学会的
c464580613 2017-11-18
  • 打赏
  • 举报
回复
去掉#define CreatBiTree 这个地方有问题 你把函数给define成空了 然后逻辑就需要修改了

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧