#includestdioh#includestdlibh#includestringh#define MAX 20typedef struct Btree char data; struct Btree leftright; BtreeZbtree;创建二叉树void createbtreeZbtree& T char e; scanfc&e; ife==# T=NULL;给左或右赋值0
上面这个程序与下面这个程序有什么不同:
- 上面的程序中定义的结构体名为Btree,下面的程序中定义的结构体名为BTree;
- 上面的程序中定义的结构体指针为Zbtree,下面的程序中定义的结构体指针为ZBTree;
- 上面的程序中有一处 printf("度为1的结点个数为:\n",onetree(T)),应该为 printf("度为1的结点个数为:%d\n", OneTree(T)),下面的程序中没有这个错误;
- 上面的程序中在 pathtree 函数中有一个 void,应该为 return,下面的程序中没有这个错误;
- 上面的程序中没有包含 stdio.h 头文件,而下面的程序中包含了 stdio.h 头文件;
- 上面的程序中没有对输入的字符进行清空操作,可能会影响程序的正常运行,而下面的程序中对输入的字符进行了清空操作;
- 上面的程序中在输出度为1的结点个数时没有指定输出的格式,而下面的程序中指定了输出的格式。
为什么上面这个程序在C-free5.0上面运行会报错,而下面能正常运行: 可能是因为在 C-free5.0 上编译运行时,对代码的编译方式和标准有一些限制,需要手动进行一些配置。而下面的程序在编写时已经进行了一些特殊的处理,比如对输入字符的清空操作和指定输出格式等,符合 C 语言的规范和标准。因此,下面的程序能够在 C-free5.0 上正常运行
原文地址: https://www.cveoy.top/t/topic/hkSN 著作权归作者所有。请勿转载和采集!