#define apple sizeof struct fate
void Dynamic()
{
typedef struct fate
{int age;
struct fate*p;}FATE;//自定义FATE作为结构体简称
FATE*head,*a,*b,*p1;//定义指向每个节点的指针
head=a=b=(struct fate*)malloc(apple);//开辟第一个位置
scanf("%d",&(*head).age);//导入第一个数据
if(head->age!=0)//第一次输入数据后的判断
{
a=b=(struct fate*)malloc(apple);//开辟第二个位置
if(a=NULL)//判断开辟函数是否执行成功
printf("分配失败");
else
{ head->p=a;
scanf("%d",&(*a).age);//经测试,一运行到这里就开始崩溃
if(a->age!=0)
{
b=(struct fate*)malloc(apple);
if(b=NULL)
printf("分配失败");
else
{a->p=b;
scanf("%d",&(*b).age);}
}
p1=head;
while(p1!=0)
{printf("%d",p1->age);
p1=p1->p;
}}}
free(head);//释放内存
free(a);
free(b);
}
主函数就是定义与调用这个函数,但是只要一输入第二个数据,程序就会崩溃,即控制台程序出现“windows发现问题,正在检测”的提示,求问各位大佬,这是什么情况?