为了账号安全,请及时绑定邮箱和手机立即绑定

数组下标越界

 bool List::ListInsert(int i,int *e){

  if(i<0||m>m_iLength){

  return false;

  }

  for(int k=m_iLength-1;k>=i;k--){

  m_pList[k+1]=m_pList[k];

  }

  m_pList[i]=*e;

  m_iLength++;

  return true;

 }

这部分是在线性表中插入元素,但是在m_iLenght++之前下标不是已经越界了吗

正在回答

2 回答

这么写是会存在一个下标越界问题,就是当数组已满的情况下。其他情况是不会出现越界的,老师应该是故意留下了这个bug,方便后面讲课的时候重点申明。

0 回复 有任何疑惑可以回复我~
#1

蛋糕店的夏天

你知道这个在哪一节有声明吗?
2016-10-02 回复 有任何疑惑可以回复我~
#2

ziom 回复 蛋糕店的夏天

不记得了
2016-10-02 回复 有任何疑惑可以回复我~

length是当前存储数据的长度,size才是数组的实际容量,只要大小不超过size就不越界,你应该认错变量了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组下标越界

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信