可以帮我看看嘛,为什么啥也不输出啊

给定一个链表头指针A,请返回一个bool值,代表其是否为回文结构。链表长度小于等于900。
#include<stdio.h>
#include<stdlib.h>
typedef struct Dulnode
{
int data;
struct Dulnode *prior;
struct Dulnode *next;
}Dulnode,*Dulinklist;
Dulinklist L;
int n;
int flag;
void creat(Dulinklist &L)
{ int i;
char c;
Dulinklist p,r;
p=r=(Dulinklist)malloc(sizeof(Dulnode));
scanf("%d",&p->data);
c=getchar();
L=p;
for(i=1;c!='\n';i++)
{
p=(Dulinklist)malloc(sizeof(Dulnode));
scanf("%d",&p->data);
c=getchar();
if(i==1)
{
p->prior=L;
p->next=L;
L->next=p;
L->prior=p;
}
else
{
p->prior=r;
p->next=L;
r->next=p;
L->next=p;
}
n=i;
}
}

int main()
{
int i;
flag=1;
Dulinklist pt,pf;
L=(Dulinklist)malloc(sizeof(Dulnode));
L->prior->next=L->next->prior=L;
creat(L);
pt=L;
pf=L->next;
while(pt->next!=L)
pt=pt->next;
for(i=0;i<n/2;i++)
{if(pf->data!=pt->data)
{
flag=0;
break;
}
pf=pf->next;
pt=pt->prior;
}
if(flag==1) printf("true");
else printf("false");
return 0;
}

能把你测试数据贴出来看看么
L=(Dulinklist)malloc(sizeof(Dulnode));
L->prior->next=L->next->prior=L;
这里L才刚分配空间,那么 L->prior和L->next都是空的啊,你怎么就操作L->prior->next了呢?
改成L->prior = L->next = NULL;

#include<stdio.h>
#include<stdlib.h>
typedef struct Dulnode
{
    int data;
    struct Dulnode *prior;
    struct Dulnode *next;
}Dulnode,*Dulinklist;
Dulinklist L;
int n;
int flag;
void creat(Dulinklist &L)
{ int i;
char c;
Dulinklist p,r;
p=r=(Dulinklist)malloc(sizeof(Dulnode));
scanf("%d",&p->data);
c=getchar();
L=p;
for(i=1;c!='\n';i++)
{
    p=(Dulinklist)malloc(sizeof(Dulnode));
    scanf("%d",&p->data);
    c=getchar();
    p->prior=r;
    p->next=NULL;
    r->next=p;
    r = p;
    n=i+1;
}
}

int main()
{
    int i;
    flag=1;
    Dulinklist pt,pf;
    L=(Dulinklist)malloc(sizeof(Dulnode));
    L->prior=L->next=NULL;
    creat(L);
    pt=L;
    pf=L;
    while(pt->next!=NULL)
    {
        pt=pt->next;
    }
    for(i=0;i<n/2;i++)
    {
        if(pf->data!=pt->data)
    {
        flag=0;
        break;
    }
    pf=pf->next;
    pt=pt->prior;
    }
    if(flag==1) printf("true");
    else printf("false");
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632