65,211
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#define ListSize 100
typedef int DataType;
typedef struct
{
DataType data[ListSize];
DataType length;
}SeqList;
void InsertList(SeqList *L, DataType x, int i)
{
int j;
if(i<1 || i > L->length+1)
{printf("postion error");
exit(1);}
if(L->length > ListSize)
{printf("overflow");
exit(1);
}
for(j = L->length-1; j > i-1; j--)
L->data[j+1] = L->data[j];
L->data[i-1] = x;
L->length++;
}
int _tmain(int argc, _TCHAR* argv[])
{
SeqList *L = NULL;
L->length = 5;/*中的 0x00411518 处未处理的异常: 0xC0000005: 写入位置 0x00000190 时发生访问冲突*/在这句话出现这个问题
for(int i = 1; i <= L->length; i++)
L->data[i-1] = i;
for(int j = 0; j < L->length; j++)
printf("%d",L->data[j]);
InsertList(L,6,2);
for(int k = 0; k < L->length; k++)
printf("%d",L->data[k]);
system("pause");
return 0;
}
#include "iostream"
#include "stdlib.h"
#define ListSize 100
typedef int DataType;
typedef struct tt
{
DataType data[ListSize];
DataType length;
tt() :length(5) {}
}SeqList;
void InsertList(SeqList *L, DataType x, int i)
{
int j;
if(i<1 || i > L->length+1)
{printf("postion error");
exit(1);}
if(L->length > ListSize)
{printf("overflow");
exit(1);
}
for(j = L->length-1; j > i-1; j--)
L->data[j+1] = L->data[j];
L->data[i-1] = x;
L->length++;
}
int main(int argc, char* argv[])
{
SeqList *L = new SeqList;
std::cout << L->length << std::endl;
//L->length = 5;
/*中的 0x00411518 处未处理的异常: 0xC0000005:
写入位置 0x00000190 时发生访问冲突在这句话出现这个问题*/
for(int i = 1; i <= L->length; i++)
L->data[i-1] = i;
for(int j = 0; j < L->length; j++)
printf("%d",L->data[j]);
InsertList(L,6,2);
for(int k = 0; k < L->length; k++)
printf("%d",L->data[k]);
return 0;
}