想不明白一点,为什么调试的时候,将新字符付给这个结构体里面定义的字符类型变量,结果却显示0/000,为什么不是A那,我输入的是A啊,很头疼
结构体类型以及全部代码在这里,引用的该作者的代码
https://blogcsdnnet/qq_34941153/article/details/100153245
#include <stdio.h>
#include <malloc.h>
#define MaxSize 13
typedef struct TNode
{
char data;
TNode* lchild;
TNode* rchild;
}TNode;
int find_public(TNode T[],int i,int j)//注意这里不是TNode* &T
{
if(T[i].data!='#'&&T[j].data!='#')//还要判断结点是否存在
{
while(i!=j)
{
if(i>j)
i=i/2;
else
j=j/2;
}
return i;
}
else
return 0;
}
int main()
{
TNode T[MaxSize];
for(int i=1;i<MaxSize;i++)//从数组下标1开始存储
{
char h;
scanf("%c",&h);
T[i].data=h;
}
int k=find_public(T,4,10);
printf("%c",T[k].data);//测试数据:ABCDE####F#,输出data:B
return 0;
}