请教下,以下程序哪里出现错误,如何改正,谢谢。// 编写递归算法,计算二叉树中叶子结点的数目。#include <stdio.h> #include<malloc.h> struct node { char info; struct node *llink, *rlink; }; typedef struct node NODE; NODE *create() { //构造二叉树 char x; NODE *p; scanf("%c", &x); printf("%c", x); //打印出已输入的二叉树 if(x!='.') { p=(NODE *)malloc(sizeof(NODE)); p->info=x; p->llink=create(); p->rlink=create(); } else p=NULL; return p; } int run(NODE *t) { static int count=0; if(t) {run(t->llink); run(t->rlink); if(t->llink ==NULL && t->rlink == NULL) { count++; } return count++; }void main() { NODE *t; int left_number; printf("请输入一棵树:\n" ); t=create(); printf("\n"); if(!t) printf("This is a empty binary tree."); else { left_number=run(t); printf("\n这棵树共有 %d 个子叶. \n", left_number); } printf("\n"); } }
目前暂无任何回答
- 0 回答
- 1 关注
- 2391 浏览
添加回答
举报
0/150
提交
取消