m0_56108608
m0_56108608
采纳率100%
2021-05-04 23:02

大佬们,我是哪里的细节出问题了。

为什么会出现这几个问题呀,这是我的代码,求指点。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct tree
{
	struct btree *left;
	char data;
	struct btree *right; 
}Btree;

Btree *creatTree()
{
    char ch;
    ch=getchar();
    if(ch == "#")
	{
    	return NULL;
	}
	else{
		Btree *p;
		p=(Btree *)malloc(sizeof(Btree));
		p->data=ch;
		p->left=creatTree();
		p->right=creatTree();
		return p;
	}
} 
void show(Btree *p)
{
	if(!p)
		return;
	printf("c",p->data);
	if(p->left!=NULL||p->right=NULL){
		printf("(");
		show(p->left);
		
		if(p->right){
			printf(",");
			show(p->right);
		}
	printf(")");
	}
}
int main()
{
	
	Btree *p=NULL;
	p=creatTree();
	show(p);
	return 0;
}

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • qq_46523755 正在学C++ 3天前
    typedef struct tree
    {
        struct btree *left;
        char data;
        struct btree *right;
    }Btree;

    这样就对啦,需要加一个类型别名关键字typedef。表示你给结构体tree起了一个别名Btree,Btree就是类型啦,才可以定义函数或变量。

    或者你不要用Btree,换成使用tree。因为不加typedef,你的Btree就不是类型名。只有tree是。

    点赞 1 评论 复制链接分享
  • software7503 CSDN技术专家团-赖老师(软件之家) 3天前

    定义变量必须用struct tree,Btree只是一个变量,并不是类型;

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    struct tree
    {
    	struct tree *left;
    	char data;
    	struct tree *right; 
    }Btree;
     
    struct tree *creatTree()
    {
        char ch;
        ch=getchar();
        if(ch == '#')
    	{
        	return NULL;
    	}
    	else{
    		struct tree *p;
    		p=(struct tree *)malloc(sizeof(Btree));
    		p->data=ch;
    		p->left=creatTree();
    		p->right=creatTree();
    		return p;
    	}
    } 
    void show(struct tree *p)
    {
    	if(!p)
    		return;
    	printf("c",p->data);
    	if(p->left!=NULL||p->right==NULL){
    		printf("(");
    		show(p->left);
    		
    		if(p->right){
    			printf(",");
    			show(p->right);
    		}
    		printf(")");
    	}
    }
    int main()
    {
    	
    	struct tree *p=NULL;
    	p=creatTree();
    	show(p);
    	return 0;
    }
    点赞 1 评论 复制链接分享
  • QA_Assistant 有问必答小助手 昨天

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论 复制链接分享
  • it_xiangqiang it_xiangqiang 2天前

    也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 2天前

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享

相关推荐