qq_43412960 2019-12-18 16:50 采纳率: 78.6%
浏览 284
已采纳

这是关于数据结构的一个问题


#include<iostream>
#include<conio.h>
using namespace std;
#define OK 1
#define MAXSIZE 10
#define OVERFLOW -1
#define ERROR 0
typedef int Status;
typedef  struct 
{
char  no[20];
char name[50];
float price;

}Book;
typedef Book ElemType;
typedef  struct
{
Book *elem;
int length;
}SqList; 

Status   InitList(SqList L)
{
    L.elem=new ElemType[MAXSIZE];
    if(!L.elem)
        exit(OVERFLOW);
    L.length=0;
    return OK;
}
Status GetElem(SqList L ,int i,ElemType e)
{
if(i<1||i>L.length)
return ERROR;
e=L.elem[i-1];
return OK;
}
int main()
{

SqList L;
Book a;
InitList(L);
L.elem[L.length].price=0;
L.elem[L.length+1].price=1;
L.elem[L.length+2].price=2;
GetElem(L,1,a);
cout<<L.length;

cout<<L.length;
getch();


return 0;
}


我就是写个数据结构的顺序表,怎么给前三个对象的Price属性赋值,怎么运行后就溢出了呢?

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-12-18 16:59
    关注

    Status InitList(SqList& L)
    这样写
    否则你初始化的是另外一个结构体,主程序没有改变
    你调试下就知道,你那么写
    L.elem[L.length].price=0;
    这里length不是0

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

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题