| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 311 人关注过本帖
标题:查找程序错误原因
只看楼主 加入收藏
gufayidai
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-6-9
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:1 
查找程序错误原因
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define Maxsize 50
typedef char ElemType;
typedef struct node
{
    ElemType data;                /*数据元素*/
    struct node *lchild;        /*指向左孩子*/
    struct node *rchild;        /*指向右孩子*/
} BTNode;


void CreateBTNode(BTNode *&t,char *str);
{
    BTNode *st[Maxsize],*p=NULL;
    int top=-1,k,j=0;
    char ch;
    t=NULL;
    ch=str[j];
    while(ch!='\0')
    {
        switch(ch)
        {
        case '(':top++;st[top]=p;k=1;break;
        case')':top--;break;
        case',':k=2;break;
        default:p=(BTNode *)malloc(sizeof(BTNode));
            p->data=ch;p->lchild=p->rchild=NULL;
            if(t==NULL)
                t=p;
            else
            {
                switch(k)
                {
                case 1:st[top]->lchild=p;break;
                case 2:st[top]->rchild=p;break;
                }
            }
        }
        j++;
        ch=str[j];
    }

}

/*按照中序非递归遍历二叉树 */   
void InOrder(BTNode *t)  
 {  
     BTNode *st[Maxsize],*p;
     int top=-1;
     if(t!=NULL)
     {
         p=t;
         while (top>-1 || p!=NULL)
         {
             while(p!=NULL)
             {
                 top++;
                 st[top]=p;
                 p=p->lchild;
             }
             if(top>-1)
             {
                 p=st[top];
                 top--;
                 printf("%c",p->data);
                 p=p->rchild;
             }
         }
         printf("\n");
     }
 }



/*递归法求叶子结点个数*/
 int leavesSum(BTNode *t)
{
    if (t==NULL)
    {
        return 0;
    }
    if (t->lchild==NULL && t->rchild==NULL)
    return 1;
    return leavesSum(t->lchild)+leavesSum(t->rchild);
}



void main()
{
    BTNode *t;
    CreateBTNode(t,"A(B(D(,G)),C(E,F))");
    InOrder(t);
    printf("二叉树t的叶子结点个数:%d\n",leavesSum(t));
    printf("\n");
}


--------------------Configuration: 4 - Win32 Debug--------------------
Compiling...
4.cpp
E:\数据结构\实验4\4.cpp(15) : error C2447: missing function header (old-style formal list?)
执行 cl.exe 时出错.

4.obj - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: 程序错误 元素 
2011-06-09 23:08
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:7 
void CreateBTNode(BTNode *&t,char *str);    // 根据错误信息推断,应该是这一行末尾的 ; 导致的错误,其他的楼主继续努力

2011-06-09 23:29
快速回复:查找程序错误原因
数据加载中...
 
   



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

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