读书人

0x5470B49C (msvcr110d.dll) 处有未经

发布时间: 2013-11-18 00:11:49 作者: rapoo

0x5470B49C (msvcr110d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0xCCCCCCCC 时发生访问冲突。
C语言初学者。在下面一段程序:

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1024
typedef float DataType;

typedef struct
{
DataType data[MAXSIZE];
int last;
}SeqList;

SeqList *init_SeqList()
{
SeqList *L;
L=(SeqList *)malloc(sizeof(SeqList));
L->last=-1;
return L;
}

int Location_SeqList(SeqList *L,DataType x)
{
int i=0;
while(i<=L->last&&L->data[i]!=x)
i++;
if(i>L->last)return -1;
else return i;
}

int Insert_SeqList(SeqList *L,int i,DataType x)
{
int j;
if(L->last==MAXSIZE-1)
{
printf("表满");return(-1);
}
if(i<1||i>L->last+2)
{
printf("位置错");return(0);
}
for(j=L->last;j>=i-1;j--)
L->data[j+1]=L->data[j];
L->data[i-1]=x;
L->last++;
return(1);
}

int Delete_SeqList(SeqList *L,int i)
{
int j;
if(i<1||i>L->last+1)
{
printf("不存在第i个元素");return(0);
}
for(j=i;j<=L->last;j++)
L->data[j-1]=L->data[j];
L->last--;
return(1);
}
void main()
{
int i;
int a,x;
SeqList*L;
L=(SeqList *)init_SeqList;
printf("请输入初始线性表中的元素个数:");
scanf("%d",L->last);
printf("请输入初始线性表中的元素:");
for(i=0;i<L->last;i++)
{
scanf("%d",&L->data[i]);
printf("%d\t",L->data[i]);
}
printf("请输入要查找的值:");
scanf("%d",&x);a=Location_SeqList(L,x);
printf("你要查找的值:%d",a);
}
运行会出现中断情况,提示:0x5470B49C (msvcr110d.dll) 处有未经处理的异常: 0xC0000005: 写入位置 0xCCCCCCCC 时发生访问冲突。
求高手指教。
细节问题,应该这样初始化L =(SeqList *)init_SeqList();
逻辑错误大家可以帮你解决,细节问题LZ还是看好了再问.....

读书人网 >C语言

热点推荐