为了账号安全,请及时绑定邮箱和手机立即绑定

你好,为什么在这段代码中CreateBiTree函数中的参数将引用符号去掉就不能运行了?

你好,为什么在这段代码中CreateBiTree函数中的参数将引用符号去掉就不能运行了?

慕神8447489 2022-03-21 15:05:15
#include<stdio.h>#include<stdlib.h>typedef struct Node //二叉树结构定义{char data;struct Node *lchild;struct Node *rchild;}Bitree;void CreateBiTree(Bitree *&t) //先序遍历创建二叉树{char s;scanf("%c",&s);if(s=='#')t=NULL;else{t=(Bitree *)malloc(sizeof(Node));t->data=s;CreateBiTree(t->lchild);CreateBiTree(t->rchild);}}void Output(Bitree *t) //先序遍历输出二叉树{if(t!=NULL){printf("%c",t->data);Output(t->lchild);Output(t->rchild);}}void main(){Bitree *root;printf("请以先序遍历依次为二叉树赋值:\n");CreateBiTree(root);printf(“输出二叉树:\n”)Output(root);}
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

这个是指针的引用,也就是指针的别名,函数中的修改作用到外面的root去了
这样生成的二叉树外面的root才能操控
如果去掉&变成传值,函数如何变外面的root也不会变

查看完整回答
反对 回复 2022-03-23
  • 1 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信