各位大神帮忙看看这个程序,error C2143: 语法错误 : 缺少“{”(在“&”的前面)error C2059: 语法错误:“&”
头文件#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;//Status是函数的类型,其值是函数的结果状态代码
//链表的函数
//线性表
#define LIST_INIT_SIZE 100//线性表存储空间的初始分配量
#define LISTINCREMENT 10//线性表储存空间的分配增量
typedef int ElemType;
typedef struct
{
ElemType *elem;//储存空间的地址
int length;//当前长度
int listsize;//当前分配的储存容量(以sizeof(ElemType)为单位
}SqList;
//------构造一个空的线性表-P23
Status Initlist_Sq(SqList &L)
{
L.elem=(ElemType * )malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem)exit(OVERFLOW);//内存分配失败
L.length=0;//空表长度为0
L.listsize;//初始储存容量
return OK;
}//InitList_sq
//-----线性表的双向链表储存结构-P35
typedef struct dulnode
{
ElemType data;
struct shuang *prior;
struct shuang *next;
}dulnode,*dullinklist;
//-----线性表的单链表存储结构-P28
typedef struct sinnode
{
ElemType data;
struct sinnode *next;
}sinnode,*sinlinklist;
//------一个带头结点的线性链表-P37
typedef struct headnode
{
ElemType data;
struct headnode *next;
}headnode,*headLinkList;
typedef struct
{
headLinkList head,tail;//分别指向线性列表中的头结点和最后一个结点
int len;//指示线性列表中数据元素的个数
}LinkList;
//----顺序栈
#define STACK_INIT_SIZE 100 //存储空间初始分配量
#define STACKINCREMENT 10 //存储空间分配增量
typedef int SElemType;
typedef struct
{
SElemType *base; //在栈构造之前和销毁之后,base的值为NULL
SElemType *top; //栈顶指针
int stacksize; //当前已分配的存储空间,以元素为单位
}SqStack;
int InitStack(SqStack &S) //构建一个空栈
{
S.base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
Status Push(SqStack &S,SElemType e)//插入元素e为新的栈顶元素
{
if(S.top-S.base>=S.stacksize)//栈满,追加存储空间
{
S.base=(SElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!S.base)exit(OVERFLOW);//存储分配失败
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
int Pop(SqStack &S,SElemType &e)//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR
{
if(S.top==S.base)return ERROR;
e=*--S.top;
return OK;
}
源文件
#include"zhan.h"
int zuoye(int length,int n)
{
int i,l,N;
l=length;
SqStack q;
char E;
char e[]={'a','b','c','d','e','f','h'};
InitStack(q);
while(!length)
{
N=n;
for(i=0;N-->0&&length-->0;)
{
i++;
Push(q,e[i]);
}
N=n;
for(i=0;N-->0&&length-->0;)
{
i=l-length;
Pop(q,&e[i]);
printf("%c",e[i]);
}
printf("/0");
}
return OK;
}
void main()
{
int length,n;
length=4;
n=3;
zuoye(length,n);
}