标题:求大神解答 为什么运行一半就不运行了??
取消只看楼主
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
结帖率:100%
已结贴  问题点数:10 回复次数:9 
求大神解答 为什么运行一半就不运行了??
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct bitree
{
    char data;
    struct bitree *lchild,*rchild;
}*Bitree,Binode;

void Create(Bitree T)
{
    char ch;
    ch=getchar();
    if(ch=='#')
    {
        T=NULL;
    }
    else
    {
        T=(Bitree)malloc(sizeof (Binode));
        T->data=ch;
        Create(T->lchild);
        Create(T->rchild);

    }
}

void Before(Bitree T)//先序遍历
{
    if(T)
    {
    printf("%c",T->data);
    Before(T->lchild);
    Before(T->rchild);
    }

}

int main()
{

    Binode T;
    Create(&T);
    printf("pre:");
    Before(&T);
    printf("\n");
    return 0;
}

我输入的是
ABC#E##DG###F##
运行结果是
pre:B
二叉树长这样
          A
       B     F
    C     D
     E   G

[此贴子已经被作者于2019-5-19 18:25编辑过]

搜索更多相关主题的帖子: 运行 data Create Before printf 
2019-05-19 18:24
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 2楼 zhulei1978
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct bitree
{
    char data;
    struct bitree *lchild,*rchild;
}*Bitree,Binode;

void Create(Bitree &T)
{
    char ch;
    ch=getchar();
    if(ch=='#')
    {
        T=NULL;
    }
    else
    {
        T=(Bitree)malloc(sizeof (Binode));
        T->data=ch;
        Create(T->lchild);
        Create(T->rchild);

    }
}
void Before(Bitree T)
{
    if(T)
    {
    printf("%c",T->data);
    Before(T->lchild);
    Before(T->rchild);
    }

}

int main()
{
    Bitree T;
    Create(T);
    printf("pre:");
    Before(T);
    printf("\n");
    return 0;
}

这种算法也可以的 我改动了T的类型就可以运行了 但是不知道为什么之前那个运行不了
2019-05-19 21:55
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 4楼 zhulei1978
第一个程序 不是已经把主函数里面的T传到CreateT函数里面的指针类型的T去了吗 为什么不可以?
2019-05-20 15:09
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 6楼 zhulei1978
节点孩子T->lchild不是节点的左孩子的地址吗 跟Bitree T T就是地址 不是同个意思吗
2019-05-20 15:56
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 8楼 rjsp
不太理解 你说的T是T的地址对吗 为什么传的是T的值而不是T?

[此贴子已经被作者于2019-5-20 16:20编辑过]

2019-05-20 16:18
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 8楼 rjsp
啊啊我想通了 谢谢你!
2019-05-20 16:31
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 6楼 zhulei1978
谢谢你!我知道了
2019-05-20 16:31
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 12楼 rjsp
理解了理解了!!
2019-05-20 16:37
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 13楼 桔梗老板
我可以再问一个问题吗?就是你前面的第二个程序中的EOF是什么 为什么要加这个?
2019-05-20 16:46
桔梗老板
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2019-3-25
得分:0 
回复 15楼 rjsp
我疏忽了(>人<;)谢谢啦!
2019-05-20 17:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494815-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.067177 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved