谁来帮我改改错啊,我快崩溃了
#include<stdio.h>#include<malloc.h>
//顺序表类型的定义.
typedef struct
{
int *elem;//存储空间基地址
//int elem;
int length;//数组长度
int listsize;//顺序表所分配的存储容量
}SqList;
//线性链表的定义
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*linkList;
//建立顺序表的函数
SqList CreateList ( int j)
{
int i;
SqList a;
a.length=10;
a.listsize=100;
a.elem=(int *)malloc(a.listsize*sizeof(int));
printf("现在请输入:");
for(i=0;i<j;i++)
{
scanf("%d",a.elem[i]);
}
return a;
}
//建立线性链表的函数
LNode CreateLNode(LNode *a,int i)
{
int j;
LNode *p;
a=(LNode *)malloc(sizeof(LNode));
p=a;
for(j=0;i<i;j++)
{
scanf("%d",&p->data);
p=p->next;
}
p->next=NULL;
return *a;
}
//顺序表的插入函数
void InsertSqList(SqList a,int i)
{
int j;
for(j=i;j<=a.length;j++)
{
a.elem[j+1]=a.elem[j];
}
a.length++;
scanf("%d",&a.elem[i+1]);
}
//线性链表的插入函数
void InsertLNode(LNode *a,int i,int x )
{
LNode *p,*q;
int j;
for(j=0;j<i;j++)
{
p=p->next;
}
q=(LNode *)malloc(sizeof(LNode));
q->data=x;
q->next=p->next;
p->next=q;
}
//顺序表的删除函数
void DeleteSqListK(SqList a,int i,int k)//删除第i个元素后边的k个元素
{
//while(0<i<a.length&&0<k<a.length)
while(0<i&&i<a.length&&0<k&&k<a.length)
{
int count,j;
for(count=0;count<k;count++)
{
for(j=a.length;j>i;j--)
a.elem[i+1]=a.elem[j-i-k];
a.length--;
}
return;
}
printf("error");
}
//线性链表的删除函数
void DeleteLNodeK(LNode a,int i,int k)//删除第i个元素后边的k个元素
{
LNode *p,*q;
int j;
for(j=0;j<i;j++)
{
p=p->next;
}
q=p;
for(j=0;j<k;j++)
{
q=q->next;
}
p->next=q;
}
//主函数
void main()
{
SqList a;
int i;
SqList CreateList( int j);
void DeleteSqListK(SqList a,int i,int k);
printf("现在我们来建立一个顺序表");
a = CreateList( 10 );
for(i=0;i<a.length;i++)
{
//printf("%d",&a.elem[i]);
printf("%d",*a.elem);
a.elem++;
}
printf("现在我们来测试一下删除函数");
DeleteSqListK( a,3,3);
for(i=0;i<a.length;i++)
{
printf("%d",&a.elem[i]);
}
}
我不知道哪里错了,很纠结,他说什么检测到mac格式要转换成dos格式,但是我用UE转换了还是没用,谁来救救我吧