若出现下图问题
错误原因:指针的使用
1.错误写法:
int main()
{
BiTree *bt;//注意:这里不能定义为双重指针,应定义单个指针,传的时候传该指针的地址即可
int flag = 0; //flag同理,定义int型,传的时候传地址即可
printf("请输入扩展的先序遍历序列:\n");
CreateBiTree(bt);
PreOrder(*bt, &flag);
if(flag == 1)
printf("该二叉树非正则二叉树。");
else
printf("该二叉树为正则二叉树。");
}
修改:
int main()
{
BiTree bt; //注意:这里不能定义为双重指针,应定义单个指针,传的时候传该指针的地址即可
int flag = 0; //flag同理,定义int型,传的时候传地址即可
printf("请输入扩展的先序遍历序列:\n");
CreateBiTree(&bt);
PreOrder(bt, &flag);
if(flag == 1)
printf("该二叉树非正则二叉树。");
else
printf("该二叉树为正则二叉树。");
}
2.
char *s[65];
s[j] = (char*)malloc(sizeof(code)); //注:指针在赋值前一定要提前为它分配空间,否则会出现错误