鱼C论坛

 找回密码
 立即注册
查看: 3400|回复: 5

小甲鱼视频的双循环链表,怎么也编译不过去,去大神看看

[复制链接]
发表于 2013-11-10 10:59:53 | 显示全部楼层 |阅读模式
3鱼币
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef char ElemType;
typedef int Status;
typedef struct DualDode
{
ElemType data;
struct DualNode *prior;
struct DualNode *next;
}DualNode,*DuLinkList;
Status InitList(DuLinkList* L)//&frac12;¨&Aacute;&cent;&Euml;&laquo;&Ntilde; &raquo;·&Aacute;&acute;±í
{
DualNode *p=NULL, *q;
int i;

*L=(DuLinkList)malloc(sizeof(DualNode));
if(!(*L))
{
   return ERROR;
}
     (*L)=NULL;
(*L)->next=(*L)->prior=NULL;
p=(*L);
for(i=0;i<26;i++)
{
   q=(DualNode *)malloc(sizeof(DualNode));
   if(!q)
   {
    return ERROR;
   }
   q->data = 'A'+i;//ACII
   q->prior= p->next;
   q->next = NULL;
   p->next=q;
   p=q;
}

p->next=(*L);
(*L)->prior->next= p->next;
return OK;
}
void Caesar(DuLinkList* L,int i)//&Aring;&Aring;&ETH;ò
{
if(i>0)
{
   do
   {
    (*L)=(*L)->next;
   }while(--i);
}
if(i<0)
     do
     {
      (*L)=(*L)->next;
     }while(++i);
}
int main()
{
DuLinkList L=NULL;
int i,n;

InitList(&L);

printf("&Ccedil;&euml;&Ecirc;&auml;&Egrave;&euml;&Ograve;&raquo;&cedil;&ouml;&Ecirc;&yacute;&pound;&ordm;");
scanf("%d",&n);
printf("/n");
Caesar(&L,n);

for(i=0;i<26;i++)
{
   L=L->next;
   printf("%c",L->data);
}
return 0;
}

QQ20131109004339.jpg

(*L)->prior->next= p->next;这个怎么就不兼容了,用C-FREE,VC++和VS都说不兼容,百思不得其解

最佳答案

查看完整内容

你这个是因为 typedef struct DualNode { ElemType data; struct DualNode *prior; struct DualNode *next; }DualNode,*DuLinkList; DualDode这个写错了 当然,你这个程序还有别的错误,自己去调试,自己去找
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-10 10:59:54 | 显示全部楼层
你这个是因为
typedef struct DualNode
{
ElemType data;
struct DualNode *prior;
struct DualNode *next;
}DualNode,*DuLinkList;

DualDode这个写错了
当然,你这个程序还有别的错误,自己去调试,自己去找
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-10 13:23:17 | 显示全部楼层
Status InitList(DuLinkList L)&raquo;·&Aacute;&acute;±í
{
DualNode *p, *q;
*P=NULL;
int i;

DuLinklist 已经是指针类型的了,L前面不需要加*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-10 14:24:20 | 显示全部楼层
DuLinkList InitList(DuLinkList L)//&frac12;¨&Aacute;&cent;&Euml;&laquo;&Ntilde; &raquo;·&Aacute;&acute;±í
{
DualNode *p, *q;
p=NULL;
int i;

L=(DuLinkList)malloc(sizeof(DualNode));
if(!L)
{
   return ERROR;
}
L->next=L->prior=NULL;
p=L;
for(i=0;i<26;i++)
{
   q=(DualNode *)malloc(sizeof(DualNode));
   if(!q)
   {
    return ERROR;
   }
   q->data = 'A'+i;//ACII
   q->next=NULL;
    p->next=q;

        q->prior=p;

   p=q;
}

p->next=L;
L->prior= p;
return L;
}

搞定了哈哈
你的初始化有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-10 19:39:22 | 显示全部楼层
撸过               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-11 22:41:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-17 07:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表