#include<stdio.h>
#include<stdlib.h>
#define maxsize 20
typedef struct pnode
{
char data;
int parent;
}pnode;
typedef struct
{
pnode data[maxsize];
int number;//结点个数
}parent_bitree; //双亲表示法(在顺序结构增加一个parent数据域,存放其双亲结点的指针or数组下标)
int main()
{
parent_bitree t;
printf("请输入二叉树结点的个数:");
scanf_s("%d", &t.number);
printf("请输入各结点值及其双亲结点值域:\n");
for (int i = 0; i < t.number; i++)
{
rewind(stdin);
scanf_s("%c %d", &t.data[i].data, &t.data[i].parent);
}
printf("该二叉树结点值及双亲结点指针情况如下所示\n结点值\t双亲结点指针\n");
for (int i = 0; i < t.number; i++)
{
printf(”%c\t%d\n", t.data[i].data, t.data[i].parent);
}
return 0;
}
我把结构体的data数据域的数据类型改为int,程序就是正常跑的,但是char就不行,这是为什么呢?