创建树的函数中,我用的是返回结点的方式创建的,但编译时电脑管家说生成的exe是木马,我自己检查对比后发现,如果把if(val>0){}加上就能正常运行了,但即便没有这个,也应该会正常运行才对啊,这里不明白了。下面是代码,希望懂这个的同学帮忙解释一下,谢谢各位了。
bitnode* create(){
int val;
scanf("%d",&val);
if(val==-1){
return NULL;
}
bitnode*root=(bitnode*)malloc(sizeof(bitnode*));
if(!root){
printf("创建失败。\n");
}
if(val>0){
root->data=val;
root->lchild=create();
root->rchild=create();
return root;
}
}