voidSeaListPushBack(SL*ps,SiDataTypex)//尾插
JL
assert(ps):
if(ps->size>=ps->c 已引发异常
口X
ps->a=(SiDataTy (ps->capacity))
ps->capacity*=2 0x00007FF784ED1ACA处(位于seqlist326.exe中引发的异常 0xC0000005:写入位置0×0000000000000000时发生访问冲笑
复制详细信息启动Liveshare会话.
if (ps->a=NULL){
4异常设置
printf(扩容失败 引发此异常类型时中断
exit(-1); 从以下位置引发时除外
口seqlist326.exe
打开异常设置编辑条件
ps->aLps->size]
pS->size++
void SeqListPushBack(SL* ps, SlDataType x)//尾插
{
assert(ps);
if (ps->size >= ps->capacity) {
ps->a = (SlDataType*)realloc(ps->a, sizeof(SlDataType) * 2 * (ps->capacity));
ps->capacity *= 2;
}
if (ps->a = NULL) {
printf("扩容失败");
exit(-1);
}
ps->a[ps->size] = x;
ps->size++;
}
typedef int SlDataType;
typedef struct SeqList {
SlDataType* a;
int size;//有效数据
int capacity;//容量
}SL;
void SeqListInit(SL* ps);//初始化
void print(SL* ps); //打印
void SeqListCheck(SL* ps);//扩容
void SeqListPushBack(SL* ps, SlDataType x);//尾插
void menu() {
SL s;
SeqListInit(&s);
SeqListPushBack(&s, 1);
SeqListPushBack(&s, 2);
SeqListPushBack(&s, 3);
SeqListPushBack(&s, 4);
SeqListPushBack(&s, 5);
print(&s);
}
int main(
)
{
menu();
}
为什么会报错,运行不成功?