经常遇到“位置 x 索引超出数组边界”的报错,今天突然想到一个以前一直没有太留意的奇葩问题:这个报错里“位置x”指的是哪里?为什么一会是“位置3”,一会是“位置1”,有什么神秘的规矩吗?

善用搜索没发现答案,于是动手试了试,看看什么情况会出现“位置1”,什么情况会出现“位置2”:

此时有了一个朦胧的猜测,“位置1”可能指的是行,“位置2”可能指的是列。

如果这个猜测成立,那么依此类推,“位置3”指的应该是数组的第三维,验证一下:

所以这里的“位置x”指的就是数组的第x维。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐