tiaya01 2021-10-13 22:05 采纳率: 85.7%
浏览 12
已结题

请问这个代码哪里错了啊?应该怎么改啊


#include<iostream>
#include<stdlib.h>
using namespace std;

#define INITSIZE 100
#define INCEREMENT 10
#define overflow 0
#define OK 1

typedef int Elemtype;

typedef struct{
    Elemtype *elem;//动态数组基址
    int len;//当前长度
    int listsize;//总共分配的存储容量     
}Sqlist;

Sqlist la,lb;

void Initlist(Sqlist &L);
void Appendelem(Sqlist &L);
void Insertelem(Sqlist &L);
void Deletlist(Sqlist &L);
void Outelem(Sqlist &L);

void main(){
    Sqlist s;
    Initlist(s);
    Appendelem(s);
    Insertelem(s);
    Deletlist(s);
    Outelem(s);
}

//顺序表初始化 
void Initlist(Sqlist &L){
    L.elem = (Elemtype *)malloc(INITSIZE*sizeof(Elemtype));
    if(!L.elem)
    exit(overflow);
    L.listsize = INITSIZE;
    
}

//在表的尾部追加一个新成员
void Appendelem(Sqlist &L){
    Elemtype e;
    if(L.len >= L.listsize)
    exit(overflow);
    L.elem[L.len] = e;
    L.len++;
} 

//插入新成员 
void Insertelem(Sqlist &L){
    int i;
    Elemtype e;
    //int j,k;
    Elemtype *newaddress,*p,*q;
    if(L.len >= L.listsize){
        //如果所分配空间已经占满
        newaddress = (Elemtype *)malloc((INITSIZE+INCEREMENT)*sizeof(Elemtype));
        if(!newaddress)
        exit(overflow);
        L.elem = newaddress;
        L.listsize += INCEREMENT;
    }
    q = &(L.elem[i]);
    for(p = &(L.elem[L.len-1]);p >= q;p--)
    *(p+1) = *p;
    *q = e;
    L.len++;
}

//删除成员
void Deletlist(Sqlist &L){
    int i;
    int &e;
    Elemtype *p,*q;
    if(i < 0|| i > L.len-1)
    exit(overflow);
    q = &(L.elem[i]);
    e = *q;
    p = L.elem+L.len-1;
    
    for(q++;q <= p;q++)
    *(q-1) = *q;
    L.len--;
} 

//输出成员 
void Outelem(Sqlist &L){
    int i;
    for(i = 0;i <= L.len;i++)
        cout << L.elem[i] << endl;
}

img

img

请问这个代码哪里错了啊
应该怎么改啊
谢谢了

  • 写回答

1条回答 默认 最新

  • 接着奏乐吧 2021-10-15 10:14
    关注

    &e是取e变量的地址,你这是在申明变量,肯定没有地址啊,按照你后面的用法,你的e是取值,而不是取址,所以你就int e就可以了啊。如果你是想用指针变量应该是int *e

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月13日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来