2 qq 34418970 qq_34418970 于 2016.04.22 10:40 提问

断点调试显示索引超出数组界限

static int MaxValue(int[] intArray)
{
int maxValue = intArray[0];
for(int i=0;i<=intArray.Length;i++)
{
if (intArray[i]>maxValue)

                maxValue = intArray[i];

        }
        return(maxValue);
    }

3个回答

CSDNXIAOD
CSDNXIAOD   2016.04.22 10:52

有关“索引超出了数组界限”的错误提示
vs2005 sp1 网站发布 索引超出了数组界限。
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

u014632175
u014632175   2016.04.22 16:11

很明显啊!数组length长度最多只会是intArray[length-1],你这么写最高可以达到intArray[length],已经超出了,记住啊数组是从intArray[0]开始的哦!还有这个函数最好对入参进行判断,你这是C++吧,最好不好传数组,要嘛传引用或者传指针

herozhangbz
herozhangbz   2016.04.23 13:03

索引是从0开始的,长度是从1计数。所以最后一个值的索引是length-1。你把循环条件<=改为<就行了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!