为了账号安全,请及时绑定邮箱和手机立即绑定

如果是有多余的节点的(如:ab000c0),程序直接忽略了运行,为什么?

如果是有多余的节点的(如:ab000c0),程序直接忽略了运行,为什么?

C
料青山看我应如是 2023-04-24 23:19:43
如:input:a0; output:invalid! input:a00;output:valid!input:ab000;output:valid!input:ab000c0;output:invalid!(0是二叉树的虚节点,用前序来创建排列输入的字符串)以下是我用的部分代码,但如果输入不合法的,如果是遗漏虚节点的(如:a0)运行时候就没反应,如果是有多余的节点的(如:ab000c0),程序直接忽略了运行。typedef struct Binnode{char data;struct Binnode *lchild;struct Binnode *rchild;}Binnode,*Bintree ;{char ch;if((ch=getchar())=='0'){*root=NULL;}else{  *root=(Bintree)malloc(sizeof(Binnode));(*root)->data=ch;Creat_Bintree(&(*root)->lchild);Creat_Bintree(&(*root)->rchild);}}
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

设置一个char a[]来保存输入的Input
然后遍历数组a[],直到strlen
根据a[]里面的字符进行判断.
如果第一个是0,则检测是否后面有不是0的字符,如果有,就是invalid
如果第一个不是0,检测第二个,如果第二个为0,检测第三个,如果第三个不为0,输出invalid
如果第一个不是0,检测第二个,如果第二个不为0,检测第三个等等,不断循环

查看完整回答
反对 回复 2023-04-27
  • 1 回答
  • 0 关注
  • 106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信