error C2664: 'printf' : cannot convert parameter 1 from 'char' to 'const char *',该怎么修改?

typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如OK等typedefintBoolean;//Boolean是布尔类型,其值是T... typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等
typedef int Boolean; // Boolean是布尔类型,其值是TRUE或FALSE
typedef char TElemType;
//#define MAX_TREE_SIZE 100
//typedef TElemType SqBiTree[MAX_TREE_SIZE];
//SqBiTree bt;
typedef struct BiTNode { // 结点结构
TElemType data;
struct BiTNode *lchild, *rchild; // 左右孩子指针
} BiTNode, *BiTree;

Status CreateBiTree(BiTree &T){
//按先序次序输入二叉树中节点的值,空格字符表示空数,构造二叉链表表示的二叉树T
char ch;
scanf("%c",&ch);
if(ch==' ')
T=NULL;
else{
if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))
exit(OVERFLOW);
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return OK;
}//CreateBiTree

void PreOrderTraverse (BiTree T)
{ // 先序遍历二叉树
if (T) {
printf(T->data); // 访问根结点
PreOrderTraverse(T->lchild); //先序遍历左子树
PreOrderTraverse(T->rchild);//先序遍历右子树
}
}
展开
 我来答
小萝卜tan
2013-11-24 · TA获得超过105个赞
知道小有建树答主
回答量:56
采纳率:0%
帮助的人:98.8万
展开全部
把:
void PreOrderTraverse (BiTree T)
{ // 先序遍历二叉树
if (T) {
printf(T->data); // 访问根结点
PreOrderTraverse(T->lchild); //先序遍历左子树
PreOrderTraverse(T->rchild);//先序遍历右子树
}
}
这段代码中的:
printf(T->data); // 访问根结点
改成:
printf("%c",T->data);
就可以了,因为printf必须要一个格式化字符串来描述你想输出的内容是什么,我根据你的代码用了%c,表明输出的是一个字符char
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式