树的双亲表示法 哪里错了?
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define MAXNUM 15
typedef struct node
{
char data;
int parent;
}PC[MAXNUM];
int main()
{
int num,i,pa,childnum,locate;
childnum=0;
char ch;
PC pc;
printf("please input the node of the num");
scanf("%d",&num);
for(i=0;i<num;i++)
{
scanf("%c%d",&pc[i].data,&pc[i].parent);
}
for(i=0;i<num;i++)
{
printf("%c %d\n",pc[i].data,pc[i].parent);
}
while(1)
{
printf("please input the node\n");
fflush(stdin);
scanf("%c",&ch);
if(ch=='#')
break;
for(i=0;i<num;i++)
{
if(pc[i].data==ch)
{
locate=i;
if(pc[i].parent==-1)
{
printf("the node is the root,no parent!");
break;
}
pa=pc[i].parent;
printf("the node of parent is:%c",pc[pa].data);
break;
}
}
}
return 0;
}
为什么输入a后 它不会输出它的父母
[此贴子已经被作者于2019-5-30 18:05编辑过]


