在做顺序表的查找时遇到一个问题:使用system("pause")暂停程序时,exe文件一闪而过,之后system("pause")语句标黄,并提示:Unknown signal的异常(如图):        当时看了半天没有看出问题,之后查阅相关资料发现是内存分配异常的缘故,需要内存大于分配内存,程序并不会直接报错,修改之后程序正常运行。

修改前:

#include<iostream>
using namespace std;
typedef int KeyType ;
typedef int InfoType;
#define MAXSIZE 1000
typedef struct{KeyType key;InfoType otherinfo;
}ElemType;
typedef struct{ElemType *elem;//数据元素存储空间基址,建表时按实际长度分配,0号单元留空int length;//表的长度
}SSTable;
int Search_Seq(SSTable ST,KeyType key)
{//在顺序表ST中顺序查找其关键字等于key的数据元素。若找到,则函数值为//该元素在表中的位置,否则为0。int i;ST.elem[0].key=key;//设置“哨兵”for(i=ST.length;ST.elem[i].key!=key;i--);//从后往前找return i;//找不到时,i为0
}
int main()
{SSTable T;int a[12]={0,21,37,88,19,92,5,64,56,80,75,13};T.elem=(ElemType*)malloc(sizeof(T.length+1)*2);T.length=11;for(int i=1;i<=11;i++)T.elem[i].key=a[i];printf("%d\n",Search_Seq(T,92));system("pause");
}

修改后

#include<iostream>
using namespace std;
typedef int KeyType ;
typedef int InfoType;
#define MAXSIZE 1000
typedef struct{KeyType key;InfoType otherinfo;
}ElemType;
typedef struct{ElemType *elem;//数据元素存储空间基址,建表时按实际长度分配,0号单元留空int length;//表的长度
}SSTable;
int Search_Seq(SSTable ST,KeyType key)
{//在顺序表ST中顺序查找其关键字等于key的数据元素。若找到,则函数值为//该元素在表中的位置,否则为0。int i;ST.elem[0].key=key;//设置“哨兵”for(i=ST.length;ST.elem[i].key!=key;i--);//从后往前找return i;//找不到时,i为0
}
int main()
{SSTable T;int a[12]={0,21,37,88,19,92,5,64,56,80,75,13};T.elem=(ElemType*)malloc(MAXSIZE);T.length=11;for(int i=1;i<=11;i++)T.elem[i].key=a[i];printf("%d\n",Search_Seq(T,92));system("pause");
}

这回直接malloc一个比较大的空间,问题解决。(但是我不知道为啥之前申请的空间大小不够qaq)

【vs code中c++使用system(“pause”)暂停,该行标黄的原因及解决办法】相关推荐

  1. 关于IDEA中CSS、WXSS代码不能自动补全的原因和解决办法

    https://blog.csdn.net/qq_45735316/article/details/120304411 关于IDEA中CSS.WXSS代码不能自动补全的原因和解决办法 注:以下内容参考 ...

  2. eclipse android 不能生成r类 appt错误,Ubuntu中Eclipse新建Android project提示缺失R文件的原因及解决办法...

    环境: 64位Ubuntu12.04进行Android开发,sun-JDK1.7,官网下载的最新ADT-Eclipse-SDK集成包.JDK配置正确.SDK已更新,版本一致 问题: 第一次启动Ecli ...

  3. C# System.IO.IOException HResult=0x8007000D Message=数据无效。解决办法

    C# System.IO.IOException HResult=0x8007000D Message=数据无效.解决办法 HResult=0x8007000D Message=数据无效.解决办法) ...

  4. 小米4支持html5,针对在webview模式中,小米魅族手机不支持html5原生video的control的解决办法![原创]...

    其实,解决办法就是,重新写个control控制功能,.同样用流行的video.js可以实现 第一步就是增加个播放的图片..要不然没有按钮多难看! webkit-playsinline> 上面的视 ...

  5. 微服务架构中的雪崩问题产生原因及解决办法

    微服务架构中的雪崩问题产生原因及解决办法 参考文章: (1)微服务架构中的雪崩问题产生原因及解决办法 (2)https://www.cnblogs.com/panchanggui/p/10330924 ...

  6. JS中for循环里面的闭包问题的原因及解决办法

    JS中for循环里面的闭包问题的原因及解决办法 参考文章: (1)JS中for循环里面的闭包问题的原因及解决办法 (2)https://www.cnblogs.com/ZinCode/p/555190 ...

  7. Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

    Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...

  8. ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法

    ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法 分类: ArcGIS ARCGIS开发中出现了这样的错误:类型"ESRI.ArcGIS.DataSourcesRaster.I ...

  9. pyqt5中QWidget的show 一闪而过的原因及解决办法实例

    import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ###### ...

最新文章

  1. angular父组件通过@ViewChild 主动获取子组 件的数据和方法
  2. thinkjs-定时任务
  3. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
  4. 算法复杂度速查表 | 必备神器
  5. 对linux的mv命令设计测试用例,测试用例中的细节 - 八音弦的个人空间 - OSCHINA - 中文开源技术交流社区...
  6. 赛锐信息:SAP 程序优化
  7. mysql 5.7 严格模式_mysql 5.7中严格模式的问题
  8. RabbitMQ的基础知识与使用
  9. mysql中on关键字和where关键字
  10. eggjs 项目实践
  11. java 单例模式实现的5种方式
  12. 怎么做SWOT分析模型PPT呢?
  13. c++我的世界小游戏
  14. IDEA的maven的package打包
  15. linux kill一个进程杀不掉怎么解决?
  16. 西门子采用三井化学的UNISTOLE™作为3D打印医用级面罩的涂层剂
  17. Android行情走势图
  18. jsp用户信息管理系统
  19. jQuery实现商品楼层的感觉
  20. 健康体检预约app的设计与实现

热门文章

  1. 策略桌游:深水城领主 for Mac
  2. 男孩取名:诚实坦荡、善良宽厚的男孩名字
  3. Equitech-Bio纯化人免疫球蛋白IgG冻干粉说明书
  4. [UWP]使用AlphaMaskEffect提升故障艺术动画的性能(顺便介绍怎么使用性能探测器分析UWP程序)
  5. jquery常用知识
  6. 马云:eBay在中国是短暂失败
  7. linux文件夹分配用户权限,linux权限设置(开放某个文件夹给指定用户)
  8. 用html做qq会员页面导航,untitledQQ会员页面导航4.html
  9. linux查看fc卡固件版本,几种系统下查看FC HBA卡信息的方法
  10. 中国核电设备产业发展现状分析及投资战略规划报告2022-2027年