|
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)//½¨Á¢Ë«Ñ »·Á´±í
{
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)//ÅÅÐò
{
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("ÇëÊäÈëÒ»¸öÊý£º");
scanf("%d",&n);
printf("/n");
Caesar(&L,n);
for(i=0;i<26;i++)
{
L=L->next;
printf("%c",L->data);
}
return 0;
}
(*L)->prior->next= p->next;这个怎么就不兼容了,用C-FREE,VC++和VS都说不兼容,百思不得其解
|
最佳答案
查看完整内容
你这个是因为
typedef struct DualNode
{
ElemType data;
struct DualNode *prior;
struct DualNode *next;
}DualNode,*DuLinkList;
DualDode这个写错了
当然,你这个程序还有别的错误,自己去调试,自己去找
|