if else语句for(int i=0;i>e.key;if(e.key==0)break;else{InsertBST(T,e);}}为什么当e.key=0时,还执行InsertBST(T,e)?是数据结构,太多了发表不了,我摘抄一部分相关的你看看吧,就是else一直执行:typedef struct{int key;

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 02:36:56
if else语句for(int i=0;i>e.key;if(e.key==0)break;else{InsertBST(T,e);}}为什么当e.key=0时,还执行InsertBST(T,e)?是数据结构,太多了发表不了,我摘抄一部分相关的你看看吧,就是else一直执行:typedef struct{int key;

if else语句for(int i=0;i>e.key;if(e.key==0)break;else{InsertBST(T,e);}}为什么当e.key=0时,还执行InsertBST(T,e)?是数据结构,太多了发表不了,我摘抄一部分相关的你看看吧,就是else一直执行:typedef struct{int key;
if else语句
for(int i=0;i>e.key;
if(e.key==0)
break;
else{
InsertBST(T,e);
}
}
为什么当e.key=0时,还执行InsertBST(T,e)?
是数据结构,太多了发表不了,我摘抄一部分相关的你看看吧,就是else一直执行:
typedef struct{
int key;
}ElemType;
typedef struct BSTNode{
ElemType data;
struct BSTNode *lchild,*rchild;
}BSTNode,*BSTree;
int InitBST(BSTree &T){
if(!(T=(BSTree)malloc(sizeof(BSTNode))))exit(OVERFLOW);
T->data.key=NULL;
T->lchild=NULL;
T->rchild=NULL;
return OK;
}
void main(){
BSTree T;
ElemType e;
if(InitBST(T)){
cout

if else语句for(int i=0;i>e.key;if(e.key==0)break;else{InsertBST(T,e);}}为什么当e.key=0时,还执行InsertBST(T,e)?是数据结构,太多了发表不了,我摘抄一部分相关的你看看吧,就是else一直执行:typedef struct{int key;
这是C++吗,就这段程序没问题,可能是其他地方!比如e.key如果是char类型就肯定会一直执行else语句
#include
using namespace std;
typedef struct{
int key;
}ElemType;
typedef struct BSTNode{
ElemType data;
struct BSTNode *lchild,*rchild;
}BSTNode,*BSTree;
int InitBST(BSTree &T){
if(!(T=(BSTree)malloc(sizeof(BSTNode))))
exit(1);
T->data.key=NULL;
T->lchild=NULL;
T->rchild=NULL;
return 1;
}
void main(){
BSTree T;
ElemType e;
if(InitBST(T)){
cout